Project auxiliary resource display methods and systems
By loading the resource detection hook file during project startup, detecting and loading decrypted resources in the edge server, and displaying project auxiliary resources, the problem of inefficient project startup is solved and the user experience is improved.
Patent Information
- Application Number
- CN202111265728.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-28
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2041-10-28
AI Technical Summary
In the prior art, project auxiliary resources need to be downloaded and decrypted before display, resulting in reduced project startup efficiency and increased user waiting time.
During the startup process of the target project, a pre-built resource detection hook file is loaded, and the auxiliary resources to be displayed in the edge server are detected through the hook file, and the corresponding target decryption resources are loaded to the client to display the auxiliary resources according to the preset display information.
It saves project start time, shortens the preparation time for project auxiliary resource display, optimizes the project start process, and improves user experience.
Smart Images

Figure CN113986386B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of computer application technology, and in particular to a method and system for displaying project auxiliary resources. Background Art
[0002] With the continuous development of computer technology, various software development projects emerge in an endless stream. Different projects have different plot designs and ways of interacting with users. In order to facilitate project promotion and user operation, in the process of running many projects, the developer will push some project auxiliary resources for display. For example, computer graphics (CG) animations displayed in game software to promote or explain the game plot or show game scenes.
[0003] At present, the display method of project auxiliary resources is to start downloading the project auxiliary resources to be pushed before entering the project operation interface after the user enters the login information, so as to display the project auxiliary resources. Considering the security of project auxiliary resources, project auxiliary resources are often encrypted. Then, it is necessary to decrypt the project auxiliary resources before displaying them, and then display the project auxiliary resources before entering the project operation interface. This results in the overall time from project startup to project operation being lengthened, which reduces the response efficiency of the project from startup to operation, and the project auxiliary resources cannot be displayed immediately after login, which increases the waiting time for users, thus affecting the user experience. Summary of the invention
[0004] The embodiment of the present invention provides a method and system for displaying project auxiliary resources to improve project response efficiency.
[0005] In a first aspect, an embodiment of the present invention provides a method for displaying project auxiliary resources, including:
[0006] The client loads the pre-built resource detection hook file during the startup of the target project;
[0007] If the client detects the existence of a project auxiliary resource to be displayed based on the resource detection hook file, loading a target decrypted resource corresponding to the project auxiliary resource from a pre-deployed edge server to the client;
[0008] The client determines preset display information of the project auxiliary resource, and displays the project auxiliary resource according to the preset display information.
[0009] In a second aspect, an embodiment of the present invention further provides a system for displaying project auxiliary resources, the system comprising a client, wherein the client comprises:
[0010] The hook file loading module is used to load the pre-built resource detection hook file during the startup of the target project;
[0011] A resource loading module, configured to load a target decryption resource corresponding to the project auxiliary resource from a pre-deployed edge server if the project auxiliary resource to be displayed is detected based on the resource detection hook file;
[0012] The resource display module is used to determine the preset display information of the project auxiliary resources and display the project auxiliary resources according to the preset display information.
[0013] In a third aspect, an embodiment of the present invention further provides a storage medium containing computer executable instructions, which are used to perform the following operations when executed by a computer processor:
[0014] During the startup of the target project, load the pre-built resource detection hook file;
[0015] If the existence of a project auxiliary resource to be displayed is detected based on the resource detection hook file, a target decrypted resource corresponding to the project auxiliary resource is loaded to the client from a pre-deployed edge server;
[0016] Determine preset display information of the project auxiliary resource, and display the project auxiliary resource according to the preset display information.
[0017] The technical solution of the embodiment of the present invention, by loading a pre-built resource detection hook file during the startup process of the target project, realizing the detection of auxiliary resources of the project to be displayed in the edge server based on the resource detection hook file, and loading the target decrypted resources corresponding to the project auxiliary resources to the client according to the streaming media manager in the resource hook file, so that the client can realize the display of the project auxiliary resources according to the preset display information display, solving the problem of low project operation efficiency and increased user waiting time caused by the client first loading the project auxiliary resources and then decrypting them in the prior art, saving the project startup time extended by loading and decrypting the project auxiliary resources when they are displayed, shortening the preparation time for the display of the project auxiliary resources, optimizing the project startup process, and improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solution of the exemplary embodiment of the present invention, the following briefly introduces the drawings required to describe the embodiments. Obviously, the drawings introduced are only drawings of a part of the embodiments to be described in the utility model, rather than all the drawings. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0019] Figure 1 A schematic diagram of a flow chart of a method for displaying project auxiliary resources provided in the first embodiment of the present invention;
[0020] Figure 2 A schematic diagram of a flow chart of a method for displaying project auxiliary resources provided in the second embodiment of the present invention;
[0021] Figure 3 This is a structural diagram of a client of a project auxiliary resource display system provided in Embodiment 4 of the present invention. DETAILED DESCRIPTION
[0022] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only the parts related to the present invention, rather than all structures, are shown in the accompanying drawings.
[0023] It should also be noted that, for ease of description, only the part relevant to the present invention but not all content is shown in the accompanying drawings. It should be mentioned before discussing exemplary embodiments in more detail that some exemplary embodiments are described as processing or methods depicted as flow charts. Although the flow chart describes each operation (or step) as sequential processing, many operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of each operation can be rearranged. When its operation is completed, the processing can be terminated, but it can also have additional steps not included in the accompanying drawings. The processing can correspond to methods, functions, procedures, subroutines, subprograms, etc.
[0024] In an embodiment of the present invention, a project can be understood as a variety of software projects developed by developers. The target project can be understood as the project corresponding to the current startup process. For ease of understanding, before introducing the specific technical solution of the embodiment of the present invention, the project startup process is introduced by taking the target project as a game project as an example. Specifically, the startup process of the target project may include the following steps: 1. Initialization of the project operating environment; 2. Loading the full assembly required for the target project; 3. Loading the shader required for the target project; 4. Loading the numerical file of the target project; 5. Entering the login process of the target project; 6. The game runs and enters the game interface. Among them, the full assembly required for the target project includes: the engine native code library corresponding to the target project, the engine plug-in layer assembly corresponding to the engine native code library, the project engineering assembly of the target project, and the third-party library assembly corresponding to the project engineering assembly.
[0025] The project assembly can include all the program codes of the project; for example, all the program codes of a game project can be the dll file codes of the Project series. The third-party library assembly can be a third-party software development kit or a third-party plug-in library assembly, etc.
[0026] Embodiment 1
[0027] Figure 1 The present invention provides a flowchart of a method for displaying project auxiliary resources in accordance with the first embodiment of the present invention. The present invention can be applied to situations where project auxiliary resources are updated, detected and displayed during the startup of a target project. The method can be executed by a display system for project auxiliary resources. The system can be implemented by software and / or hardware and can be configured in a terminal and / or server to implement the method for displaying project auxiliary resources in accordance with the embodiment of the present invention.
[0028] like Figure 1 As shown, the method of this embodiment may specifically include:
[0029] S110. During the startup of the target project, the client loads a pre-built resource detection hook file.
[0030] Among them, the client can refer to a program that provides interactive services with the target project for the user. Specifically, the client can be understood as an application program of the target project installed on the user terminal. Optionally, when the target project is a game project, the client can be a game client.
[0031] As mentioned above, the target project may be a project that needs to be started at the current moment. Optionally, the target project may be an application installed in a smart terminal, typically a mobile phone, a tablet computer, a personal computer, and the like.
[0032] The target project may be developed based on a target project engine. The target project engine may be the engine that is currently starting the editor. Exemplarily, the target project engine may be a tool that provides a large number of core technologies, basic support, or function calls for developers. For example, the target engine may be a game engine, including but not limited to the Unity engine, the Unreal engine, and a scripting engine.
[0033] In this embodiment, the pre-built resource detection hook file can be a file for pre-loading the project auxiliary resources of the target project. Specifically, the resource detection hook file can include instructions or codes for detecting whether the project auxiliary resources of the target project need to be displayed during the operation of the target project. The format of the resource detection hook file can be various, for example, it can be a dynamic database file or a label file. Specifically, it can be a .dll file or a .lab file, etc.
[0034] Optionally, the resource detection hook file can be constructed based on the programming language of the target project's engine native code base. Exemplarily, the resource detection hook file can be an EnginePreEntryHook.dll file. Specifically, the resource detection hook file can be constructed based on the C# language of the target project engine. Taking the resource detection hook file as a .dll file as an example, a project EnginePreEntryHook can be pre-constructed based on the C# language to generate an EnginePreEntryHook.dll file, which is used as the resource detection hook file.
[0035] Optionally, the client loads the engine native code library of the target project during the startup of the target project; when the engine native code library is loaded, the pre-built resource detection hook file is loaded.
[0036] The engine native code library can be understood as a system file that supports the engine operation of the target project. The language for writing the engine native code library can be C#. Optionally, the engine native code library can be the UnityEngine.dll library. Loading the engine native code library can be understood as loading the engine native code library of the target project into the startup memory.
[0037] Specifically, when it is detected that the target project's engine native code library has been loaded, the pre-built resource detection hook file for loading the target project's project auxiliary resources can be loaded into the startup memory. Since the target project's native code library often contains the target project's basic resource code and functional code, the resource detection hook file can be loaded after the target project's corresponding engine native code library is loaded. The advantage of this setting is that the local project can be built based on the engine native code library. Direct inheritance or call code to reduce code redundancy.
[0038] Optionally, the client loads the engine plug-in layer assembly of the target project during the startup of the target project; when the engine plug-in layer assembly is loaded, the pre-built resource detection hook file is loaded.
[0039] The engine plug-in layer assembly can be understood as all plug-in files that support the engine startup of the target project. Optionally, the plug-in files of the engine plug-in layer assembly can include a package series and a plugin series. The number of packages included in the engine plug-in layer assembly can be one or more, and the number of plugins included in the engine plug-in layer assembly can be one or more. Loading the engine plug-in layer assembly of the target project can be understood as loading all plug-in files that support the engine startup of the target project into the startup memory.
[0040] Specifically, when the engine plug-in layer assembly of the target project is loaded, the pre-built resource update hook file can be loaded into the memory.
[0041] Optionally, the client loads a pre-built project engineering assembly of the target project during the startup of the target project; when the loading of the project engineering assembly is completed, the client loads a pre-built resource detection hook file.
[0042] Among them, the pre-built project engineering assembly can be understood as all the source code files of the project engineering to be loaded based on the target project development. Taking the target project as a game project as an example, the project engineering assembly can be understood as all the program codes of the game project. Specifically, all the program codes of the game project can be the .dll file code of the Project series. Loading the pre-built project engineering assembly can be understood as after the project engineering assembly is built, the built project engineering assembly can be loaded into the startup memory.
[0043] Specifically, when the pre-built project engineering assembly is loaded, the pre-built resource detection hook file can be loaded into the memory.
[0044] Optionally, during the startup of the target project, the client loads a pre-built third-party software development kit assembly of the target project; when the loading of the third-party software development kit assembly is completed, the pre-built resource detection hook file is loaded.
[0045] Among them, the pre-built third-party software development kit assembly may include a plug-in library file of a third-party library or SDK (Software Development Kit). Exemplarily, the third-party software development kit assembly may be a sound effect Wwise, a game SDK compilation, etc. Loading the pre-built third-party software development kit assembly can be understood as loading the built third-party software development kit assembly into the startup memory after the third-party software development kit assembly assembly is built.
[0046] Specifically, when the pre-built third-party software development kit assembly is loaded, the pre-built resource detection hook file can be loaded into the memory.
[0047] S120: If the client detects that there are project auxiliary resources to be displayed based on the resource detection hook file, a target decrypted resource corresponding to the project auxiliary resource is loaded to the client from a pre-deployed edge server.
[0048] Among them, project auxiliary resources can be understood as additional project resources used to assist in the promotion of target project content or facilitate user operation. It should be noted that project auxiliary resources may not be the program files that come with the project engineering program set in the target project. Project auxiliary resources can be project resources that further improve the completion of the target project in the subsequent application process when the target project has been developed. Taking the game project as an example, the project auxiliary resources can be CG animations used to promote or explain the game plot displayed during the startup or operation of the game, or they can be introductions to new game characters that appear during the operation of the game. The project auxiliary resources to be displayed can be understood as the project auxiliary resources that will be displayed during the startup or operation of the target project.
[0049] The edge server can be understood as a server that can interact with the client and is used to download, load and decrypt project auxiliary resources. The target decrypted resource can refer to the resource data file obtained after the project auxiliary resource is decrypted by the edge server and is used to assist the target project in starting or running.
[0050] It should be noted that, in order to protect project security, prevent the developed project auxiliary resources or acquired data information from being stolen, or developers only expect some people to use them, developers often encrypt project auxiliary resources or data information using a preset encryption algorithm to obtain an encrypted resource file. Optionally, the encrypted resource file can be stored in an edge server for managing project resources, or can also be stored in other resource managers.
[0051] Before the client displays the project auxiliary resources, the edge server or resource server will generate a decryption program corresponding to the preset encryption algorithm according to the preset encryption algorithm, and decrypt the encrypted project auxiliary resources to obtain the target decrypted resources corresponding to the project auxiliary resources. Among them, the preset encryption algorithm can be a symmetric encryption algorithm or an asymmetric encryption algorithm, which is not limited in this embodiment, as long as the project auxiliary resources can be encrypted. Exemplarily, the preset encryption algorithm can be an AES128 encryption algorithm, an elliptic curve encryption algorithm, a SHA1 encryption algorithm, or an MD5 encryption algorithm. For example, if the preset encryption algorithm is the AES128 encryption algorithm, then when the edge server decrypts the project auxiliary resources, it needs to generate a decryption program corresponding to the AES128 encryption algorithm to obtain the target decrypted resources.
[0052] It should also be noted that the pre-deployed edge server and the client are two independent server entities. Therefore, in order to achieve communication between the edge server and the client, before the target decryption resource corresponding to the project auxiliary resource is loaded from the edge server to the client, communication can be established between the client and the pre-deployed edge server based on the resource detection hook file. Optionally, communication can be established between the client and the pre-deployed edge server based on the streaming media manager in the resource detection hook file.
[0053] The streaming media manager can be understood as a resource manager in a resource detection hook file that is used to compress project auxiliary resources and transmit them from an edge server to a client in the form of fluid data.
[0054] In a specific implementation, a resource detection hook file may be used to trigger a detection operation of whether there are project auxiliary resources to be displayed in a pre-deployed edge server, so as to determine whether it is necessary to load a target decryption resource corresponding to the project auxiliary resource.
[0055] Optionally, when detecting whether there are auxiliary resources of the project to be displayed in the edge server based on the resource detection hook file, other startup processes can be executed in parallel to further improve the startup efficiency.
[0056] Exemplarily, during the startup of the target project, the client loads the target project's engine native code library; when the engine native code library is loaded, the pre-built resource detection hook file is loaded, and then the target decrypted resource can be loaded based on the resource detection hook file, and at the same time, operations such as loading the target project's engine plug-in layer assembly can be performed in parallel. Similarly, when the engine plug-in layer assembly is loaded, the pre-built resource detection hook file is loaded, and then the target decrypted resource can be loaded based on the resource detection hook file, and at the same time, operations such as loading the target project's project engineering assembly can be performed in parallel.
[0057] S130: The client determines preset display information of the project auxiliary resources, and displays the project auxiliary resources according to the preset display information.
[0058] The preset display information can be understood as various information about the presentation method of the preset project auxiliary resources in the target project. Optionally, the preset display information may include the display effect, display time node, and display method of the preset project auxiliary resources in the target project. It should be noted that the preset display information may be preset by the system or set by the user according to his own needs, which is not limited in this embodiment.
[0059] In this embodiment, the preset display information may include a preset display time and a preset display mode. When it is determined based on the operation information of the target project that the target project reaches the preset display time, the project auxiliary resources are displayed in the preset display mode.
[0060] It should be noted that the operation information of the target project can be understood as various information showing the progress of the target project at the current moment. The preset display timing can be understood as the display node of the project auxiliary resource in the target project. The preset display method can include a pop-up window method, an animation special effect rendering method, or a frame-by-frame video display method, etc., which is not limited in this embodiment.
[0061] Optionally, the preset display timing may include at least one of the following timings:
[0062] When the client's time reaches the preset display time and the target project is in running state;
[0063] When the target project jumps from the login interface to the project display interface;
[0064] When the target item displays preset scene information;
[0065] When the target project runs to the preset project progress;
[0066] When the target project develops to the preset storyline;
[0067] When the target project has a preset project body.
[0068] Specifically, when the target project is in a running state and the client's time reaches the preset display time of the project auxiliary resources, the client will display the project auxiliary resources in the target project in a preset display manner.
[0069] When the user starts the target project, enters the login interface, enters the user login information, and runs the target project, the target project can determine the display interface of the project auxiliary resources based on the user login information and the user's historical data information in the target project, and when running the target project, jump from the login interface to the project display interface of the project auxiliary resources to display the project auxiliary resources in the target project in a preset display method.
[0070] Developers can develop new programs for scenes, project bodies or project storylines in the target project based on the original project engineering program set of the target project. When the user develops to a new storyline, reaches a new scene or encounters a new project body during the operation of the target project, the client will display the project auxiliary resources in the target project in a preset display mode.
[0071] Taking game projects as an example, in order to improve the presentation effect of game projects, developers usually develop some holiday-limited game scenes or game characters during major domestic and international holidays. When users run the game on the holiday, the game running interface will automatically pop up an introduction animation about the newly added scenes or characters, so that users can have a better gaming experience.
[0072] The technical solution of the embodiment of the present invention, by loading a pre-built resource detection hook file during the startup process of the target project, realizing the detection of auxiliary resources of the project to be displayed in the edge server based on the resource detection hook file, and loading the target decrypted resources corresponding to the project auxiliary resources to the client according to the streaming media manager in the resource hook file, so that the client can realize the display of the project auxiliary resources according to the preset display information display, solving the problem of low project operation efficiency and increased user waiting time caused by the client first loading the project auxiliary resources and then decrypting them in the prior art, saving the project startup time extended by loading and decrypting the project auxiliary resources when they are displayed, shortening the preparation time for the display of the project auxiliary resources, optimizing the project startup process, and improving the user experience.
[0073] Embodiment 2
[0074] Figure 2 This is a flow chart of a method for displaying project auxiliary resources provided in Embodiment 2 of the present invention. Based on the above technical solution, this embodiment further refines the technical solution. Based on any optional technical solution in the embodiments of the present invention, the edge server optionally obtains the project auxiliary resources to be displayed in the resource server, and decrypts the target project resources to obtain the target decrypted resources corresponding to the project auxiliary resources.
[0075] The technical terms that are the same as or corresponding to the above embodiments are not described in detail here. Figure 2 As shown, the method of this embodiment specifically includes the following steps:
[0076] S210. During the startup of the target project, the client loads a pre-built resource detection hook file.
[0077] S220: The edge server obtains the project auxiliary resources to be displayed from the resource server, and decrypts the project auxiliary resources to obtain target decrypted resources corresponding to the project auxiliary resources.
[0078] It should be noted that in order to realize the preemptive loading of project auxiliary resources, a resource server for storing various project auxiliary resources is set. In addition, the resource server can also be used to store other project resources corresponding to the target project. Alternatively, the resource server can also be connected to a warehouse storing project resources to read various project resources from the warehouse. The project auxiliary resources to be displayed can be understood as being stored in the resource server, so that the user can display the project auxiliary resources according to the operation information of the current target project during the process of starting or running the target project.
[0079] Specifically, when the edge server detects that there are project auxiliary resources in the resource server that need to be displayed in the target project, it will download the project auxiliary resources to be displayed from the resource server. At this time, the project auxiliary resources are in an encrypted state, and the edge server needs to apply a decryption program corresponding to the encryption algorithm to decrypt the downloaded project auxiliary resources, so that the target decrypted resources corresponding to the project auxiliary resources can be obtained and stored in the edge server, so that the client can load and use them from the edge server at any time when running the target project.
[0080] In this embodiment, optionally, the edge server obtains the project auxiliary resources to be displayed in the resource server, including: the edge server receives the project auxiliary resources to be displayed sent by the resource server; or, when the edge server receives the project auxiliary resource update notification sent by the resource server, downloads the project auxiliary resources to be displayed from the resource server.
[0081] In an optional embodiment, specifically, when the project auxiliary resources in the resource server are updated, or new project auxiliary resources appear, the updated or newly added project auxiliary resources will be sent to the edge server so that the client can download them from the edge server. It should be noted that the sending time can be a preset task trigger time, or it can be sent to the edge server immediately when the project auxiliary resources are updated or new project auxiliary resources appear, and this embodiment does not limit this. Exemplarily, the preset task trigger time can be a periodic time, for example, after a preset time interval with the update of the project auxiliary resources, or it can be a specific time point, for example, on a certain anniversary day or a certain holiday day. It can also be that after receiving the user's sending operation for the project auxiliary resources, the resource server will send the selected project auxiliary resources to the edge server.
[0082] In another optional embodiment, when the edge server receives a notification of a project auxiliary resource update from a resource server, it will download the updated project auxiliary resource from the resource server. Among them, the project auxiliary resource update notification can be understood as a piece of code or instruction that notifies the edge server that the project auxiliary resource can be downloaded from the resource server. Optionally, the project auxiliary resource update notification may include which specific project auxiliary resources are updated and which new project auxiliary resources are added. Specifically, when the resource server detects that the project auxiliary resources of the target project have been updated, it will generate a project auxiliary resource update instruction and send it to the edge server. When the edge server receives the project auxiliary resource update instruction, it will download the updated project auxiliary resources from the resource server, and after decrypting the downloaded project auxiliary resources, store them in the edge server in the form of target decrypted resources, so that when the client runs the target project, it can load the corresponding target decrypted resources from the edge server according to the needs of the user or the target project.
[0083] Taking into account the diversity of client players, in order to ensure the smooth display of project auxiliary resources, optionally, after obtaining the target decryption resources corresponding to the project auxiliary resources, the technical solution may also include the following processing steps: converting the decrypted project auxiliary resources into a target display format, loading the target decryption resources corresponding to the project auxiliary resources from a pre-deployed edge server to the client, including: loading the target decryption resources in the target display format corresponding to the project auxiliary resources from a pre-deployed edge server to the client.
[0084] The target display format can be understood as the file encoding type of the project auxiliary resources used to display the target project in the client. Optionally, the target display format can include mp4 format, AVI format, MPEG format or WMV format, which is not limited in this embodiment.
[0085] In the embodiment of the present invention, the target display format may be more than one, and may be two or more pre-set common display formats. Optionally, the decrypted project auxiliary resources are converted into various common display formats and stored in the edge server to support the display requirements of different clients.
[0086] Specifically, when the display format of the decrypted project auxiliary resources is not the target display format, it is necessary to complete the display format conversion process to convert the decrypted project auxiliary resources into the target display format so that the decrypted project auxiliary resources can successfully implement the display process in the target project.
[0087] It should be noted that the edge server can load and decrypt the project auxiliary resources before the target project is started or at any step in the target project startup process, and store them in the edge server so that the client can load the target decrypted resources into the memory at any time.
[0088] That is, before the client loads the target decryption resource corresponding to the project auxiliary resource from the pre-deployed edge server, the edge server will convert the decrypted project auxiliary resource into the target display format of the target project after obtaining the target decryption resource corresponding to the project auxiliary resource, thereby, the client loads the target decryption resource in the target display format corresponding to the project auxiliary resource from the pre-deployed edge server to the client.
[0089] S230: If the client detects the existence of a project auxiliary resource to be displayed based on the resource detection hook file, a target decrypted resource corresponding to the project auxiliary resource is loaded to the client from a pre-deployed edge server.
[0090] In this embodiment, optionally, the way in which the client detects the existence of project auxiliary resources to be displayed based on the resource detection hook file may include: if the client receives a project auxiliary resource update notification sent by the edge server, or if the client detects the existence of new target decryption resources on the edge server based on a heartbeat mechanism pre-established between the client and the edge server, it is determined that the client detects the existence of project auxiliary resources to be displayed based on the resource detection hook file.
[0091] The project auxiliary resource update notification can be understood as a section of instruction or code used to remind the client that the project auxiliary resource has been updated. The heartbeat mechanism can be understood as a mechanism that sends a custom heartbeat packet at regular intervals to ensure the validity of the connection, that is, the client sends a fixed message to the server at regular intervals, and the server replies with a fixed message after receiving it. If the server does not receive the client information within a period of time, the client is considered disconnected. The period of time can be 30 seconds, 1 minute, or 2 minutes, etc., which is not limited in this embodiment.
[0092] Specifically, when the project auxiliary resources in the edge server are updated and decrypted, a project auxiliary resource update instruction is generated and sent to the client. After the client receives the project auxiliary resource update instruction, it can be determined that the client has detected the existence of project auxiliary resources to be displayed in the edge server according to the resource detection hook file, and loads the target decrypted resources corresponding to the project auxiliary resources into the memory, so that the target project can display the project auxiliary resources at the corresponding stage during the operation; or, through a pre-built heartbeat mechanism, according to the heartbeat packet data sent by the edge server, the client detects the existence of new target decrypted resources in the edge server, then the client can detect the project auxiliary resources to be displayed in the edge server according to the resource detection hook file.
[0093] S240: The client determines preset display information of the project auxiliary resource, and displays the project auxiliary resource according to the preset display information.
[0094] The technical solution of the embodiment of the present invention obtains project auxiliary resources from the resource server through the edge server, decrypts the project auxiliary resources, obtains the target decrypted resources and stores them in the edge server. During the startup process of the target project, the client loads a pre-built resource detection hook file, detects the existence of project auxiliary resources to be displayed in the edge server based on the resource detection hook file, and loads the target decrypted resources corresponding to the project auxiliary resources from the edge server to the client. Thus, the client implements the display process of the project auxiliary resources according to the preset display information, solves the problem of the project startup time being extended due to the download and decryption process of the project auxiliary resources in the prior art, and further achieves the technical effect of optimizing the project startup process and improving the project startup efficiency.
[0095] Embodiment 3
[0096] In order to make the technical solution of the embodiment of the present invention more clear to those skilled in the art, the following takes the target project as a game, and the target terminal for launching the game as a client installed on a mobile phone as an example to give a specific application scenario example. Taking the target project as a mobile game application as an example, the method of the embodiment of the present invention may include the following steps:
[0097] Before launching the game on the mobile client, pre-build the resource detection hook file;
[0098] Specifically, a C# dll method of the native code library is used to pre-build a resource detection hook file project EnginePreEntryHook, and a file EnginePreEntryHook.dll in a dynamic link database format is generated. A streaming media manager StreamCGMgr is implemented in EnginePreEntryHook to communicate with the edge server and receive project auxiliary resources.
[0099] During the game startup process, the mobile client loads the assembly required to start the game project;
[0100] Specifically, the assembly includes the engine native code library, the engine plug-in library, the project engineering code library and the SDK third-party library. Optionally, when the engine native code library is loaded, the EnginePreEntryHook is loaded and started; then, the edge server is started, the updated project auxiliary resources are downloaded, and the project auxiliary resources are decrypted to obtain the target decrypted resources. After the decryption is completed, the decrypted target decrypted resources are converted into the target display format, and the target decrypted resources in the target display format are sent to the client. The client detects the target decrypted resources in the target display format corresponding to the project auxiliary resources based on the EnginePreEntryHook file, and then loads the target decrypted resources from the edge server to the client.
[0101] Then, the shader is loaded and compiled, the values are loaded, the login interface is entered, the user enters the login information, and the client runs the game.
[0102] At this time, during the game running process, when it is determined based on the game running information that the game reaches the preset display time, the target decryption resource corresponding to the project auxiliary resource is displayed in a preset display mode.
[0103] The technical solution of the embodiment of the present invention loads a pre-built resource detection hook file during the startup process of the target project, and then starts a pre-deployed edge server to download, load and decrypt project auxiliary resources to obtain target decrypted resources. The client loads the target decrypted resources to the client based on the resource detection hook file. Therefore, after the client receives the target decrypted resources corresponding to the project auxiliary resources, it implements the display process of the target decrypted resources in a preset display manner, which solves the problem of slow game entry caused by the download and decryption process of project auxiliary resources in the prior art, and greatly improves the user experience.
[0104] Embodiment 4
[0105] Figure 3This is a structural diagram of a client of a project auxiliary resource display system provided in Example 4 of the present invention. The project auxiliary resource display system provided in this embodiment includes a client, wherein the client includes: a hook file loading module 410, a resource loading module 420 and a resource display module 430.
[0106] Among them, the hook file loading module 410 is used to load the pre-built resource detection hook file during the startup process of the target project; the resource loading module 420 is used to load the target decryption resource corresponding to the project auxiliary resource from the pre-deployed edge server if it is detected that there is a project auxiliary resource to be displayed based on the resource detection hook file; the resource display module 430 is used to determine the preset display information of the project auxiliary resource, and display the project auxiliary resource according to the preset display information.
[0107] The technical solution of the embodiment of the present invention, by loading a pre-built resource detection hook file during the startup process of the target project, realizing the detection of auxiliary resources of the project to be displayed in the edge server based on the resource detection hook file, and loading the target decrypted resources corresponding to the project auxiliary resources to the client according to the streaming media manager in the resource hook file, so that the client can realize the display of the project auxiliary resources according to the preset display information, solving the problem of low project operation efficiency and increased user waiting time caused by the client first loading the project auxiliary resources and then decrypting them in the prior art, saving the project startup time extended by loading and decrypting the project auxiliary resources when they are displayed, shortening the display preparation time of the project auxiliary resources, optimizing the project startup process, and improving the user experience.
[0108] Optionally, the client further includes:
[0109] The resource detection module is used to determine that the client has detected the existence of project auxiliary resources to be displayed based on the resource detection hook file if the client receives a project auxiliary resource update notification sent by the edge server, or if the client detects the existence of new target decryption resources on the edge server based on the heartbeat mechanism pre-established between the client and the edge server.
[0110] Optionally, the resource display module 430 includes:
[0111] The display timing determination unit is used to display the project auxiliary resources in a preset display mode when it is determined based on the operation information of the target project that the target project reaches a preset display timing.
[0112] Optionally, the display timing determined by the display timing determination unit includes at least one of the following timings: when the client time reaches the preset display time and the target project is in operation; when the target project jumps from the login interface to the project display interface; when the target project displays preset scene information; when the target project runs to the preset project progress; when the target project develops to the preset storyline; when the preset project body appears in the target project.
[0113] Optionally, the system further includes an edge server, which includes a resource decryption module; wherein the resource decryption module is used to obtain project auxiliary resources to be displayed in the resource server, and decrypt the target project resources to obtain target decrypted resources corresponding to the project auxiliary resources.
[0114] Optionally, the edge server further includes:
[0115] The resource acquisition module is used to receive the project auxiliary resources to be displayed sent by the resource server; or, when receiving the project auxiliary resource update notification sent by the resource server, download the project auxiliary resources to be displayed from the resource server.
[0116] Optionally, the edge server further includes:
[0117] A format conversion module, used to convert the decrypted target project resource into a target display format after obtaining the target decrypted resource corresponding to the project auxiliary resource;
[0118] The resource loading simulation 420 is also used to load the target decrypted resource in the target presentation format corresponding to the project auxiliary resource from the pre-deployed edge server to the client.
[0119] Optionally, the client further includes:
[0120] The communication establishment module is used to establish communication between the client and the pre-deployed edge server based on the streaming media manager of the resource detection hook file before loading the target decrypted resource corresponding to the project auxiliary resource from the pre-deployed edge server to the client.
[0121] Optionally, the client further includes:
[0122] The engine native code library loading module is used to load the engine native code library of the target project;
[0123] The hook file loading module 410 is also used to load the pre-built resource detection hook file when the engine native code library is loaded.
[0124] Optionally, the client further includes:
[0125] The engine plug-in layer assembly loading module is used to load the engine plug-in layer assembly of the target project;
[0126] The hook file loading module 410 is also used to load the pre-built resource detection hook file when the engine plug-in layer assembly is loaded.
[0127] Optionally, the client further includes:
[0128] Project engineering assembly loading module, used to load the project engineering assembly of the pre-built target project;
[0129] The hook file loading module 410 is also used to load the pre-built resource detection hook file when the project engineering assembly is loaded.
[0130] Optionally, the client further includes:
[0131] Assembly loading module, used to load third-party SDK assemblies pre-built into target projects;
[0132] The hook file loading module 410 is also used to load the pre-built resource detection hook file when the third-party software development toolkit assembly is loaded.
[0133] The above-mentioned project auxiliary resource display system can execute the project auxiliary resource display method provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing the project auxiliary resource display method.
[0134] It is worth noting that the various units and modules included in the above-mentioned project auxiliary resource display system are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present invention.
[0135] Embodiment 5
[0136] Embodiment 5 of the present invention further provides a storage medium including computer executable instructions, wherein the computer executable instructions are used to execute a method for displaying project auxiliary resources when executed by a computer processor, the method comprising:
[0137] During the startup of the target project, load the pre-built resource update hook file;
[0138] Update the target login resource of the login interface of the target project based on the resource update hook file;
[0139] When the login interface of the target project is started, the login interface is displayed based on the target login resource.
[0140] The computer storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can 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 electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.
[0141] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0142] 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.
[0143] Computer program code for performing the operation of embodiments of the present invention may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0144] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims
1. A method for displaying project auxiliary resources, characterized in that: include: The client loads the pre-built resource detection hook file during the startup of the target project; If the client detects the existence of a project auxiliary resource to be displayed based on the resource detection hook file, loading a target decrypted resource corresponding to the project auxiliary resource from a pre-deployed edge server to the client; The client determines preset display information of the project auxiliary resource, and displays the project auxiliary resource according to the preset display information; The resource detection hook file is a file used to preload the project auxiliary resources of the target project; the resource detection hook file contains instructions or codes used to detect whether the project auxiliary resources of the target project need to be displayed during the operation of the target project; the project auxiliary resources are additional project resources used to assist in the promotion of the target project content or facilitate user operation; Before the target decryption resource corresponding to the project auxiliary resource is loaded from the pre-deployed edge server to the client, the method further includes: a streaming media manager based on the resource detection hook file establishes communication between the client and the pre-deployed edge server.
2. The method according to claim 1, characterized in that: Also includes: If the client receives a project auxiliary resource update notification sent by the edge server, or if the client detects the existence of a new target decryption resource on the edge server based on a heartbeat mechanism pre-established between the client and the edge server, it is determined that the client has detected the existence of a project auxiliary resource to be displayed based on the resource detection hook file.
3. The method according to claim 1, characterized in that The preset display information includes a preset display time and a preset display method; The displaying of the project auxiliary resources according to the preset display information includes: When it is determined based on the operation information of the target project that the target project reaches the preset display time, the project auxiliary resource is displayed in a preset display manner.
4. The method according to claim 3, characterized in that The preset display opportunity includes at least one of the following opportunities: When the client's time reaches the preset display time and the target project is in a running state; When the target project jumps from the login interface to the project display interface; When the target item displays preset scene information; When the target project runs to the preset project progress; When the target project develops to a preset storyline; When the target item has a preset item body.
5. The method according to claim 1, characterized in that Also includes: The edge server obtains the project auxiliary resources to be displayed from the resource server, and decrypts the project auxiliary resources to obtain target decrypted resources corresponding to the project auxiliary resources.
6. The method according to claim 5, characterized in that The edge server obtains the auxiliary resources of the project to be displayed from the resource server, including: The edge server receives the auxiliary resources of the project to be displayed sent by the resource server; or When the edge server receives the project auxiliary resource update notification sent by the resource server, it downloads the project auxiliary resource to be displayed from the resource server.
7. The method according to claim 5, characterized in that After obtaining the target decryption resource corresponding to the project auxiliary resource, the method further includes: Convert the decrypted target project resources into the target display format; The step of loading the target decryption resource corresponding to the project auxiliary resource from the pre-deployed edge server to the client includes: The target decrypted resource in the target presentation format corresponding to the project auxiliary resource is loaded to the client from the pre-deployed edge server.
8. The method according to claim 1, characterized in that It also includes performing at least one of the following operations: The client loads the engine native code library of the target project; The client loads the engine plug-in layer assembly of the target project; The client loads the project engineering assembly that pre-builds the target project; The client loads a pre-built third-party software development kit assembly of the target project; The loading of the pre-built resource detection hook file includes at least one of the following operations: When the engine native code library is loaded, load the pre-built resource detection hook file; When the engine plug-in layer assembly is loaded, the pre-built resource detection hook file is loaded; When the project engineering assembly is loaded, the pre-built resource detection hook file is loaded; When the third-party software development kit assembly is loaded, the pre-built resource detection hook file is loaded.
9. A display system for project auxiliary resources, characterized in that: The method comprises a client, wherein the client comprises: A hook file loading module, used to load a pre-built resource detection hook file during the startup process of the target project; wherein the resource detection hook file is a file used to pre-load the project auxiliary resources of the target project; the resource detection hook file contains instructions or codes used to detect whether the project auxiliary resources of the target project need to be displayed during the operation of the target project; A resource loading module, configured to load a target decryption resource corresponding to the project auxiliary resource from a pre-deployed edge server if the project auxiliary resource to be displayed is detected based on the resource detection hook file; wherein the project auxiliary resource is an additional project resource used to assist in promoting the target project content or facilitate user operation; A resource display module, used to determine preset display information of the project auxiliary resources and display the project auxiliary resources according to the preset display information; The client also includes: The communication establishment module is used for establishing communication between the client and the pre-deployed edge server based on the streaming media manager of the resource detection hook file before the target decryption resource corresponding to the project auxiliary resource is loaded to the client from the pre-deployed edge server.
Citation Information
Patent Citations
Cloud storage system based on edge server
CN106657267A
Resource file decryption method and device
CN106709282A