Method, device and storage medium for obtaining blueprint data
By injecting hook plug-ins into the client and using preset scripts to obtain blueprint data, the problem of too long testing time caused by game engine editor dependence is solved, and the blueprint data is quickly obtained and testing efficiency is improved.
Patent Information
- Application Number
- CN202010245054.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-03-31
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2040-03-31
AI Technical Summary
In the prior art, the process of obtaining blueprint data through the game engine editor embedding plug-in takes a long time, resulting in too long testing time.
Inject hook plug-in into the client by hooking hook services, use preset scripts to detect hook events and obtain blueprint data, avoid relying on the game engine editor, and directly obtaining blueprint data from the client.
It improves the speed of obtaining blueprint data, widens the test surface, improves the overall testing efficiency, reduces dependence on code permissions and compilation engine editors, and enhances the flexibility and efficiency of testing.
Smart Images

Figure CN113457131B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of artificial intelligence technology, and in particular to a method, device, and storage medium for obtaining blueprint data. Background Art
[0002] Currently, for various game engine-based projects, extracting and testing blueprint data is accomplished by embedding plugins within the game engine editor. Specifically, testers must first apply for code permissions for their project, compile the editor and the corresponding game project, and then write the plugin code in C++ within the editor. Only after the plugin code is compiled can the game's blueprint data be retrieved.
[0003] During the research and practice of the prior art, the inventors of the embodiments of the present application discovered that since they rely on the game engine editor and are implemented by adding plug-ins, it takes a long time to pull the code for each version update, and the game engine editor takes a long time to compile the plug-in, which ultimately leads to a long test time. Summary of the Invention
[0004] The embodiments of the present application provide a method, device, and storage medium for obtaining blueprint data, which can view blueprint data without relying on a game engine editor, effectively improve the speed of obtaining blueprint data, expand the test surface, and improve the overall testing efficiency of later clients.
[0005] In a first aspect, an embodiment of the present application provides a method for obtaining blueprint data, the method comprising:
[0006] Run the hook plug-in injected into the client by hooking the hook service;
[0007] After the hook event is detected by the hook plug-in, the preset script in the interactive application is started according to the hook event by the hook plug-in;
[0008] Obtaining blueprint data from the client through the preset script;
[0009] Send the blueprint data to the server.
[0010] In one possible design, the client includes multiple skill components, and the hook event refers to a hook operation for a preset script in the client. The hook operation includes obtaining the logic control script in the client and the configuration information of each skill component.
[0011] In one possible design, before running the hook plug-in injected into the client in a hook service manner, the method further includes:
[0012] Obtaining the preset script, wherein the preset script includes a hooked function for calling the preset script;
[0013] Add the preset script to the target directory, which is the installation directory of the client on the terminal;
[0014] A hook function is set in the hook plug-in, and the hook plug-in is associated with the preset script, wherein the hook function is used to perform a hook operation on the hooked function that calls the preset script.
[0015] In one possible design, obtaining blueprint data from the client through the preset script includes:
[0016] Get the blueprint path collection;
[0017] Loading the blueprint object corresponding to the blueprint path set according to the preset script, and performing data transformation on the blueprint object;
[0018] The blueprint data is obtained according to the client identifier, the client version and the blueprint object after data transformation.
[0019] In one possible design, loading the blueprint object corresponding to the blueprint path set according to the preset script and performing data transformation on the blueprint object includes:
[0020] Acquire multiple blueprint paths according to the type of the blueprint path to obtain the blueprint path set;
[0021] Through the preset script, each type of blueprint path is instantiated to obtain the corresponding blueprint object;
[0022] Get the properties and property values of each blueprint object;
[0023] Determines an object of a preset type from each blueprint object based on the property value of the blueprint object.
[0024] In one possible design, the hook operation further includes updating the preset script; and the method further includes:
[0025] After the hook event is detected by the hook plug-in, external data is obtained, where the external data is data for updating the preset script;
[0026] Using the hook plug-in, starting a preset script in the interactive application according to the hook event;
[0027] The historical preset script is updated according to the external data to obtain the preset script.
[0028] In one possible design, the blueprint data is stored on a blockchain node.
[0029] In a second aspect, an embodiment of the present application provides an apparatus for acquiring blueprint data, which has the functionality to implement the method for acquiring blueprint data provided in the first aspect. The functionality can be implemented by hardware, or by hardware executing corresponding software implementations. The hardware or software includes one or more modules corresponding to the functionality, and the modules can be software and / or hardware.
[0030] In one possible design, the device includes:
[0031] Input and output modules are used to run the hook plug-in injected into the client by hooking the hook service;
[0032] A control module, configured to, after detecting a hook event through the hook plug-in, activate a preset script in the interactive application according to the hook event through the hook plug-in;
[0033] A processing module, configured to obtain blueprint data from the client through the preset script;
[0034] The input and output module is also used to send the blueprint data to the server.
[0035] In one possible design, the client includes multiple skill components, and the hook event refers to a hook operation for a preset script in the client. The hook operation includes obtaining the logic control script in the client and the configuration information of each skill component.
[0036] In one possible design, before the input / output module runs the hook plug-in injected into the client in a hook service manner, the processing module is further configured to:
[0037] Obtaining the preset script through the input and output module, wherein the preset script includes a hooked function for calling the preset script;
[0038] Add the preset script to the target directory, which is the installation directory of the client on the terminal;
[0039] A hook function is set in the hook plug-in, and the hook plug-in is associated with the preset script, wherein the hook function is used to perform a hook operation on the hooked function that calls the preset script.
[0040] In one possible design, the processing module is specifically configured to:
[0041] Get the blueprint path collection;
[0042] Loading the blueprint object corresponding to the blueprint path set according to the preset script, and performing data transformation on the blueprint object;
[0043] The blueprint data is obtained according to the client identifier, the client version and the blueprint object after data transformation.
[0044] In one possible design, the processing module is specifically configured to:
[0045] Acquire multiple blueprint paths according to the type of the blueprint path to obtain the blueprint path set;
[0046] Through the preset script, each type of blueprint path is instantiated to obtain the corresponding blueprint object;
[0047] Get the properties and property values of each blueprint object;
[0048] Determines an object of a preset type from each blueprint object based on the property value of the blueprint object.
[0049] In one possible design, the hook operation further includes updating the preset script; and the processing module is further configured to:
[0050] After the hook event is detected by the hook plug-in, external data is obtained through the input and output module, where the external data is data for updating the preset script;
[0051] The control module is further configured to start a preset script in the interactive application according to the hook event via the hook plug-in;
[0052] The processing module is further configured to update the historical preset script according to the external data to obtain the preset script.
[0053] In one possible design, the blueprint data is stored on a blockchain node.
[0054] Another aspect of an embodiment of the present application provides a device for obtaining blueprint data, which includes at least one connected processor, memory and transceiver, wherein the memory is used to store a computer program, and the processor is used to call the computer program in the memory to execute the method described in the first aspect above.
[0055] Another aspect of the embodiments of the present application provides a computer-readable storage medium, which includes instructions. When the instructions are executed on a computer, the computer executes the method described in the first aspect above.
[0056] Compared with the existing technology, the solution provided in the embodiment of the present application injects a preset script into the client of the terminal and runs the hook plug-in in hook service mode to start the preset script, and then quickly obtains the blueprint data of the client through the preset script. On the one hand, it does not rely on the game engine editor to view the blueprint data, so it can effectively improve the speed of obtaining blueprint data; on the other hand, it does not require code permissions and a compilation engine editor, and can be used directly, thereby broadening the test surface and improving the overall testing efficiency of later clients. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 A schematic diagram of a network topology of a communication system in an embodiment of the present application;
[0058] Figure 2 This is a schematic diagram of the process of obtaining, receiving, analyzing and viewing blueprint data in an embodiment of the present application;
[0059] Figure 3 A flow chart of a method for obtaining blueprint data in an embodiment of the present application;
[0060] Figure 4 A schematic diagram of a process for a backend server to receive and store blueprint data in an embodiment of the present application;
[0061] Figure 5a This is a schematic diagram of an interface for displaying a type of blueprint data according to the client version on a web page in an embodiment of the present application;
[0062] Figure 5b This is a schematic diagram of an interface for displaying the difference in blueprint data of a device between two client versions on a web page in an embodiment of the present application;
[0063] Figure 5c A schematic diagram of a flow chart of analyzing and processing blueprint data by a web server in an embodiment of the present application;
[0064] Figure 6 This is a structural diagram of the blockchain system in the embodiment of this application;
[0065] Figure 7 A schematic diagram of the structure of an apparatus for obtaining blueprint data in an embodiment of the present application;
[0066] Figure 8 A schematic diagram of the structure of an apparatus for obtaining blueprint data in an embodiment of the present application;
[0067] Figure 9 This is a structural diagram of a terminal in an embodiment of the present application. DETAILED DESCRIPTION
[0068] The terms "including" and "having" and any variations thereof in the description and claims of the embodiments of the present application and the above-mentioned drawings are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or modules is not necessarily limited to those steps or modules clearly listed, but may include other steps or modules that are not clearly listed or inherent to these processes, methods, products or devices. The division of modules in the embodiments of the present application is only a logical division. In actual applications, there may be other division methods. For example, multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, and the indirect coupling or communication connection between modules can be electrical or other similar forms, which are not limited in the embodiments of the present application. In addition, the modules or sub-modules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed in multiple circuit modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the embodiment of the present application.
[0069] The embodiments of the present application provide a method, device, and storage medium for obtaining blueprint data, which can be used to obtain test data of an application before testing the application, such as obtaining blueprint data for a game client. This solution can be used on the server side or the terminal side. The embodiments of the present application only take the terminal as an example. The terminal side is deployed with a device for obtaining blueprint data. The device for obtaining blueprint data in the embodiments of the present application can be a node in a blockchain system. The solutions provided in the embodiments of the present application involve artificial intelligence cloud services, databases, and other technologies in cloud technology, and are specifically described through the following embodiments:
[0070] Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide or local area network (WAN) to enable data computing, storage, processing, and sharing. Cloud technology is a general term for network, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form a resource pool that can be used on demand with flexibility and convenience. Cloud computing technology will become a crucial support. Backend services for technical network systems, such as video websites, image websites, and more portals, require extensive computing and storage resources. With the rapid development and application of the internet industry, every item will likely have its own unique identification mark and will need to be transmitted to backend systems for logical processing. Data of varying levels will be processed separately, and data from all industries will require a strong system backend, which can only be achieved through cloud computing.
[0071] Artificial intelligence cloud services, also commonly referred to as AIaaS (AI as a Service), are a mainstream AI platform offering. Specifically, AIaaS platforms break down several common AI services and provide them as standalone or packaged services in the cloud. This service model is similar to an AI-themed marketplace: all developers can access one or more of the platform's AI services through APIs. Experienced developers can also use the platform's AI framework and infrastructure to deploy and maintain their own cloud-based AI services.
[0072] A database, in simple terms, can be thought of as an electronic filing cabinet—a place where electronic files are stored, where users can add, query, update, and delete data. A "database" is a collection of data stored in a specific manner, shared by multiple users, with minimal redundancy, and independent of applications. A database management system (DBMS) is a computer software system designed to manage databases, typically providing basic functions such as storage, access, security, and backup. Database management systems can be categorized by the database model they support, such as relational or XML (Extensible Markup Language); by the type of computer they support, such as server clusters or mobile phones; by the query language used, such as SQL (Structured Query Language) or XQuery; by performance priorities, such as maximum scale or maximum speed; or by other classification methods. Regardless of the classification method used, some DBMSs are cross-category, for example, supporting multiple query languages simultaneously.
[0073] In some embodiments, this solution is applied to Figure 1 The communication system shown in the figure may include a server (backend server and web server) and multiple terminals. Each terminal has a client installed. The client installed on each terminal may be of the same or different versions, or may be running the same or different operating systems. This embodiment of the application does not limit the client version or the operating system type corresponding to the client. This is described in detail below.
[0074] The backend server provides backend services, receives blueprint data uploaded by mobile phones, parses the blueprint data, and stores it according to project, version, data type, and other categories. A game engine is deployed on the backend server, generates preset scripts, and then distributes the preset scripts to each terminal. A game engine refers to the core component of some pre-written editable computer game systems or some interactive real-time graphics applications. Specifically, it is a set of machine-readable code (instructions) designed for running a certain type of game. The game engine controls the operation of the game. The game engine provides game designers with various tools needed to write games, allowing them to easily and quickly create game programs without having to start from scratch. A game product can be divided into two major parts: the game engine and game resources. Game resources include graphics, sound, animation, etc. The formula is: game = engine (program code) + resources (graphics, sound, animation, etc.). The game engine calls these resources sequentially according to the requirements of the game design. The game engine in the embodiments of this application supports multiple operating systems (such as Linux, Mac OS X, and Windows). The game engine includes the following systems: rendering engine (also known as "renderer", including two-dimensional graphics engine and three-dimensional graphics engine), physics engine, collision detection system, sound effects, script engine, computer animation, artificial intelligence, network engine and scene management.
[0075] The web server provides a Hyper Text Transport Protocol (http) service, displays the filtered blueprint data, compares the blueprint data of each version, and marks the difference data between the blueprint data of each version.
[0076] The client is installed in the terminal and the preset script from the background server is injected. The terminal collects the client's blueprint data by running the preset script and uploads the blueprint data to the background server.
[0077] based on Figure 1 In a communication system, after the terminal starts the client, it loads the preset script into the terminal's memory to start the preset script. The client's blueprint data is obtained through the preset script. Each terminal uploads the obtained blueprint data to the backend server, and the backend server stores the blueprint data from the terminal in the database. The web server reads the blueprint data from the database, analyzes it, and displays the versions and compares the differences of the blueprint data. Figure 2In the process shown, for external testers (such as project partners in charge of a game development business in an enterprise, who do not have editor permissions for the game engine), they install the game test package on the mobile phone, then inject a preset script into a specific directory on the mobile phone, and trigger the preset script to run the blueprint data to be collected. Then, the preset script is run, the blueprint data collected by the preset script is saved, and the blueprint data is uploaded to the backend server. Then, internal testers (such as project personnel in charge of a game development business in an enterprise, who have editor permissions for the game engine) can log in to the web page (such as a designated website) through a browser, select the project and version number for which they are responsible, view the blueprint data with version display and difference comparison on the web page, and then test the client based on these blueprint data.
[0078] Among them, it should be noted that the server involved in the embodiment of the present application (i.e., the backend server and the web server) can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The terminal involved in the embodiment of the present application can be a smart phone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected by wired or wireless communication, and the embodiment of the present application is not limited here.
[0079] This solution is intended to allow the game engine to test and analyze the performance of the client installed on the terminal based on the blueprint data obtained from the terminal. Therefore, before executing the method for obtaining blueprint data, the terminal needs to pre-acquire a preset script and then inject the preset script into the client. Injection refers to the process of passively executing a custom code in the client through certain hacking techniques. Through injection, any data in the client can be read and modified. Injection can also be called loading. The specific name is not limited in this embodiment of the application. Specifically, it includes the following steps:
[0080] Obtain a preset script, which includes a hooked function for calling the preset script; add the preset script to the target directory, which is the installation directory of the client on the terminal; the preset script can be locally transmitted to the terminal or sent by the server. In addition, since the preset script is not subject to compilation restrictions, anyone can modify the preset script and then inject it into the terminal, and the modified script will take effect immediately after injection.
[0081] A hook function is set in the hook plug-in, and the hook plug-in is associated with the Lua script, wherein the hook function is used to perform a hook operation on the hooked function that calls the preset script.
[0082] Among them, the hook plug-in refers to a program used to start a preset script. The hook plug-in may include a hook function, a hooked function, and a program interface. The hook plug-in may also be called a hook plug-in. Function hooking refers to the process of modifying several instructions in the header of a function when the client executes a certain function (when it is necessary to hook this function, this function is called a hooked function) so that the function jumps to a custom function (generally referred to as a custom hook function). This is called function hooking. Sometimes, when the logic of the hooked function is more complicated, it is necessary to implement the function of the original function in the custom hook function. At this time, the hook framework will provide a function pointer, and calling the function pointer can complete the original function of the hooked function. In some implementations, the hook framework provides a program interface to tell the hook framework that a certain function (such as Function1) needs to be hooked into a custom function (such as Function2), and provides a function to implement the function of the hooked function. This application loads a preset script into the client and executes the hook framework, thereby hooking function Function1 into Function2. When the client executes Function1, it automatically goes to Function2. In Function2, you can write custom code to replace the logic of Function1, thereby achieving the purpose of modifying the running logic of the preset script or the client's running logic.
[0083] Preset scripts are scripts that can be supported by the game engine. For example, the game engine may support pre-set scripts to call C++ programming interfaces. In some embodiments, pre-set scripts may include Lua scripts and Python scripts. Lua scripts are a scripting language that can be easily embedded in applications, providing flexible expansion and customization capabilities for applications. Python scripts are an object-oriented, interpreted computer programming language that can connect various modules created in other languages and can adapt to relatively fast code rewriting.
[0084] In some implementations, the preset script is pre-written and has a specific identifier. The game engine can use this specific identifier to load the preset script, initiating the terminal-side triggering of the preset script to retrieve the client's blueprint data. The game engine provides a function that preferentially loads Lua source code files with the same name from a specified directory. Therefore, after writing the preset script for collecting blueprint data, the Lua script's name is changed to the specific identifier, and the preset script with the specific identifier is then injected into the specified directory on the terminal.
[0085] For example, to inject a Lua script into a game client, you can inject the Lua script into a specified target directory. This target directory refers to the directory where the game client is installed (at the same level as the log directory), for example, / sdcard / Android / data / com.xxx.xx / xx / xx. When the game client boots up, it reads the target directory, loads the Lua script into the terminal's memory, and waits for the corresponding blueprint data collection API to be triggered to start the Lua script.
[0086] The client includes multiple skill components, such as attack, trigger, etc. The client can also be called an application, an interactive application, etc., which is not limited in this embodiment of the application. This embodiment of the application only takes the blueprint data of the client as an example.
[0087] Reference Figure 3 , the following describes a method for obtaining blueprint data provided by an embodiment of the present application. The solution can be executed by a device for obtaining blueprint data, and the device for obtaining blueprint data is applied on the terminal side. The blueprint data can also be called test data, performance test data, etc., which is not limited to this embodiment of the present application. The subsequent embodiments only take blueprint data as an example. The device for obtaining blueprint data in the embodiment of the present application can cover operating systems such as iOS, Android, Windows, Linux, iMac, etc., which is not limited to this embodiment of the present application. The embodiments of the present application include:
[0088] 201. Run the hook plug-in injected into the client in the form of hooking the hook service.
[0089] The hook service is a proxy that replaces the original service with a proxy based on the hook framework to achieve the purpose of expansion or modification of the original service. By running the hook plug-in in the client as a hook service, it is possible to detect file operations in the client.
[0090] The hook plugin can be used to set a custom hook function to be detected. This custom hook function is associated with the calling function in the client. The calling function in the client associated with the custom hook function is called the hooked function. When the program executes the hooked function, it will jump to the custom hook function associated with it, thereby changing the original running logic of the hooked function. Therefore, after compiling the code of the custom hook function, the compiled custom hook function can be compiled into a preset script, which can then be injected into the client.
[0091] Correspondingly, running a hook plugin as a hook service in a client means that after running the hook plugin in the client as a hook service, the hook plugin can be used to read external data outside the client. By reading external data, it can detect whether the external data associated with the client has changed outside the client. For example, if the client is upgraded, the Lua script may also need to be updated to obtain the blueprint data of the latest version of the client.
[0092] For example, when the game client is started, it will detect whether there is a Lua script with a specific identifier in the installation directory of the game client. If it exists, the Lua script will be loaded into the terminal's memory, so that the Lua script can call the C++ program interface.
[0093] When the game client starts, it first loads the Lua script into memory, waiting for the corresponding API to be triggered to collect blueprint data. The triggering mechanism for the corresponding API includes: triggering based on a (game master, GM) instruction (such as clicking a button in the game or sending a command on a web page). When the user logs into the game, the game client automatically loads the Lua script with the target identifier (such as a specific name) into memory and executes the blueprint data collection operation after receiving the GM instruction trigger.
[0094] 202. After the hook event is detected by the hook plug-in, the preset script in the interactive application is started according to the hook event by the hook plug-in.
[0095] In some implementations, the hook event refers to a hook operation for a preset script in the client, wherein the hook operation includes obtaining the configuration information of the logic control script and each skill component in the client. The hook operation may also include updating the preset script.
[0096] In the embodiment of the present application, in addition to obtaining blueprint data, the preset script also has dynamic writing and modification functions, and may also have other functions, such as: remote screenshots, viewing mobile phone directories, uploading and downloading files, and customizing game GM instructions.
[0097] 203. Obtain blueprint data from the client through the preset script.
[0098] The blueprint data is used by the server to perform performance testing on the client. For example, the blueprint data may be a game blueprint obtained from a game client. A game blueprint is a type of resource read by a game engine. A game blueprint contains scripts and configuration parameters for logical control within a game application. For example, a game blueprint may contain map resources, corresponding probabilities for map resources, damage of equipment, range, animation time, damage values for various body parts, and other parameters configured in the game blueprint.
[0099] In some implementations, obtaining blueprint data includes:
[0100] (1) Get the blueprint path collection.
[0101] Among them, the blueprint path set includes multiple blueprint paths, and the blueprint path refers to the access path of blueprint data.
[0102] In some implementations, a pre-set script reads a table storing blueprint paths in the game's memory by type, obtaining a set of blueprint paths for each type. For example, this could include any system implemented using blueprints within the game, such as equipment, costumes, scene maps, loot, and AI configuration. Blueprint paths are typically configured using a table. For example, for equipment A, its blueprint path is / Game / Arts_PlayerBluePrints / Weapon / Aweapon.
[0103] (2) Loading the blueprint object corresponding to the blueprint path set according to the preset script, and performing data transformation on the blueprint object.
[0104] In some implementations, loading the blueprint object corresponding to the blueprint path set according to the preset script and performing data transformation on the blueprint object includes:
[0105] a. Acquire multiple blueprint paths according to the type of the blueprint path to obtain the blueprint path set.
[0106] b. Instantiate each type of blueprint path through the preset script to obtain the corresponding blueprint object.
[0107] In some implementations, when instantiating various types of blueprint paths, a slua plug-in and C++ can be used to implement the Lua program interface (loadclass), introduce the slua library into the Lua script, and then slua.loadClass(bppath) can get an instance of the corresponding blueprint.
[0108] c. Get the properties and property values of each blueprint object.
[0109] d. Determine an object of a preset type from each blueprint object based on the attribute value of the blueprint object.
[0110] The object of the preset type may be a JavaScript Object Notation (JSON) object, and each JSON object is a value, which may be an array or an object, or a value of a primitive type.
[0111] In some implementations, for each instantiated blueprint object, each attribute and corresponding value is retrieved. Each value is then filtered. If the blueprint object type is table or user data, the blueprint object is iterated over to retrieve the attributes and values. For example, blueprint object A has attribute B, and its value is C. If C is of type Bool, number, or string, it can be directly converted to JSON. If the attribute is a table or user data, it cannot be converted to JSON and C must be iterated over to determine its attributes.
[0112] Since there are many attributes in the blueprint data, the client uploads all these attributes to the server and stores them. If each functional test does not need to pay attention to all fields in the blueprint data, then after the server obtains the blueprint data from the terminal, it will filter out the fields it is concerned about from the blueprint data and display them.
[0113] (3) Obtain the blueprint data according to the client identifier, client version and the blueprint object after data transformation.
[0114] For example, the terminal establishes a Transmission Control Protocol (TCP) connection with the backend server based on the given network address and port of the backend server. It then runs the game's programming interface, obtains the current game version number, game name, and JSON object, stores them as blueprint data, and then packages and sends this data to the backend server.
[0115] 204. Send the blueprint data to the server.
[0116] After receiving blueprint data from multiple terminals, the server can view the data through the editor. If the blueprint data comes from multiple terminals and the terminals have different installed client versions and corresponding operating system types, the server can compare and display these different versions of blueprint data to intuitively show the differences between the different versions of blueprint data.
[0117] Specifically, after receiving the blueprint data sent by multiple terminals, the backend server can start its internally deployed TCP proxy, cyclically receive the connection of the client in the terminal, and store the blueprint data transmitted by the client. The main workflow of the backend server is as follows: Figure 4 As shown, the TCP proxy is started to detect whether a client has established a TCP connection with the backend server through the TCP proxy. If not, it continues to wait for the next TCP connection. If so, it receives blueprint data from the client, parses the blueprint data, obtains the client's identifier, and obtains the client's version number. It then determines whether the blueprint data corresponding to the client already exists in the database (i.e., whether there is historical blueprint data). If the blueprint data already exists in the database, it obtains the blueprint data corresponding to the client from the database and updates the blueprint data in the database. If not, it saves the blueprint data in the database and feeds the result back to the corresponding client.
[0118] Testers can log in to the web page through the network to view the blueprint data with version display and difference comparison on the web page, and then test the client based on this blueprint data. Alternatively, project personnel can log in to the web page through the network to view the blueprint data with version display and difference comparison on the web page, for example Figure 5a and Figure 5b shown. Figure 5a Display a type of blueprint data on the web page according to the client version, Figure 5b Displays the differences in blueprint data for a device between two client versions on a web page.
[0119] Accordingly, when the blueprint data comes from multiple terminals and the client versions and operating system types installed on the multiple terminals are different, the web server can compare and display these different versions of blueprint data to intuitively present the differences between the different versions of blueprint data.
[0120] The web server's processing flow for blueprint data can be found in Figure 5c , Figure 5cIn the process, the web server reads the newly stored game blueprint data from the database. Game blueprints contain a lot of data. If each functional test does not need to focus on all fields in the blueprint data, the web server can filter out the fields of interest from the blueprint data according to the filtering rules after obtaining the blueprint data from the database and display these fields of interest. According to the client identifier and client version number in the blueprint data, the web server obtains the historical blueprint data corresponding to the client from the database, compares the filtered blueprint data with the historical blueprint data, and then stores them differentially.
[0121] Since blueprint data fields are typically named in English, which can be difficult to read, the corresponding English parameters in the blueprint data fields can be converted to their corresponding Chinese equivalents according to the rules. After the data conversion is complete, the blueprint data from the previous few clients with the same version are compared and the discrepancies are stored. If the blueprint data comes from multiple terminals, and the client versions and operating systems installed on these terminals are different, the web server can compare and display these different versions of the blueprint data to intuitively demonstrate the differences between the different versions of the blueprint data.
[0122] Compared with the prior art, in the embodiment of the present application, a preset script is injected into the client of the terminal, and the hook plug-in is run in hook service mode to start the preset script, and then the blueprint data of the client is quickly obtained through the preset script. On the one hand, it does not rely on the game engine editor to view the blueprint data, so it can effectively improve the speed of obtaining the blueprint data; on the other hand, it can be used directly without code permissions and compilation engine editors, thereby broadening the test surface and improving the overall testing efficiency of later clients.
[0123] In addition, since the hook plug-in in the embodiment of the present application runs in the form of a hook service and updates the running logic of the preset script by sensing changes in external data, there is no need to restart the client as in the existing mechanism during each update of the running logic for the preset script, and no client interruption will occur, thereby improving the stability of the client and the stability of the hook service.
[0124] Optionally, in some embodiments of the present application, due to factors such as optimization or security testing of application in the later stage, it will be necessary to re-hook the call function in the client, i.e., it is necessary to update the lua script. In the present application, in order to reduce the multiple hook operations caused by updating the lua script, it is even necessary to restart the client to cause business interruption and other problems, the operation of updating the lua script and executing the lua script can be separated, which can be realized based on the above-mentioned hook plug-in. Specifically, if the external data outside the client is updated for the lua script, the hook plug-in will perceive that the external data has changed, because the external data of the change is associated with the call function in the client (i.e., the target is hooked function), so when the external data changes, the hook plug-in will re-hook the call function in the client, and performing the hook operation will change the target's run logic of the hook function, so the re-hook operation caused by the external data change can be called a hook event, correspondingly, the above-mentioned hook operation can also include updating the run logic of the target hook function, and then updating the execution logic of the injected historical lua script, and then obtaining the updated blueprint data.
[0125] As can be seen, it is only necessary to compile a custom function for each hooked function, and it is not necessary to recompile a dynamic database for each updated lua script, and it is not necessary to repeatedly inject the updated lua script to the client, restart the client and other operations, which greatly improves the efficiency of hook, reduces useless work, shortens the hook time, and then improves the efficiency of the problem-solving function. Especially in the test scenario of the operation logic that needs to repeatedly modify the lua script, the process of compiling and injecting the custom hook function can be exempted. Therefore, compared with the existing mechanism, the present invention can also effectively improve the efficiency of test, shorten the test time and simplify the test process. In addition, due to the later stage modification operation logic, it is not necessary to recompile and other operations, so the application management personnel who do not need to modify the operation logic have professional hook technical knowledge, and can efficiently and accurately complete the modification of the operation logic.
[0126] In an embodiment of the present application, the above-mentioned blueprint data can be stored in a blockchain. Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains information about a batch of network transactions, which is used to verify the validity of the information (anti-counterfeiting) and generate the next block. Blockchain can include the blockchain underlying platform, the platform product service layer, and the application service layer.
[0127] The underlying blockchain platform can include processing modules such as user management, basic services, smart contracts, and operational testing. Among them, the user management module is responsible for the identity information management of all blockchain participants, including maintaining public and private key generation (account management), key management, and maintaining the corresponding relationship between the user's real identity and the blockchain address (authority management), etc., and under authorization, it supervises and audits the transactions of certain real identities and provides risk control rule configuration (risk control audit); the basic service module is deployed on all blockchain node devices to verify the validity of business requests, and records valid requests to storage after consensus is reached. For a new business request, the basic service first adapts the interface for parsing and authentication (interface adaptation), and then encrypts the business information through the consensus algorithm (consensus management). The smart contract module is responsible for the registration, issuance, triggering and execution of contracts. Developers can define the contract logic in a programming language and publish it to the blockchain (contract registration). According to the logic of the contract terms, the contract logic is triggered by calling keys or other events to trigger execution. The contract logic is completed, and the contract upgrade and cancellation functions are also provided. The operation detection module is mainly responsible for the deployment, configuration modification, contract setting, cloud adaptation and real-time status visualization output of the product during the product release process, such as alarms, network status detection, node device health status detection, etc.
[0128] The device for obtaining blueprint data (also referred to as a server) in the embodiment of the present application that performs the method for obtaining blueprint data can be a node in the blockchain system. Figure 6 A node in a blockchain system is shown.
[0129] Figures 1 to 6 Any technical feature mentioned in any embodiment corresponding to any one of the items is also applicable to the embodiments of this application. Figure 7-Figure 9 The corresponding embodiments will not be described in detail later.
[0130] The above describes a method for obtaining blueprint data in an embodiment of the present application. The following introduces a device for executing the above method for obtaining blueprint data.
[0131] See Figure 7 ,like Figure 7 The schematic diagram of the structure of a device 70 for obtaining blueprint data is shown, which can be used to obtain test data of an application before testing the application, such as obtaining blueprint data of a game client. The device 70 for obtaining blueprint data in the embodiment of the present application can achieve the corresponding Figure 1The steps of the method for obtaining blueprint data executed in the corresponding embodiment. The functions implemented by the device 70 for obtaining blueprint data can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions, and the modules can be software and / or hardware. The device 70 for obtaining blueprint data may include an input and output module 701, a control module 702 and a processing module 703. The functions of the input and output module 701, the control module 702 and the processing module 703 can be implemented by reference to Figure 1 The corresponding embodiments are not described in detail here.
[0132] In some implementations, the input / output module 701 may be configured to run a hook plug-in injected into the client in a hook service manner;
[0133] The control module 702 may be configured to, after detecting a hook event through the hook plug-in, activate a preset script in the interactive application according to the hook event through the hook plug-in;
[0134] The processing module 703 may be configured to obtain blueprint data from the client via the preset script;
[0135] The input and output module 701 is also used to send the blueprint data to the server.
[0136] In an embodiment of the present application, the input and output module 701 injects a preset script into the client of the terminal, and the processing module 703 runs the hook plug-in in hook service mode to start the preset script, so that the blueprint data of the client can be quickly obtained through the preset script. On the one hand, it does not rely on the game engine editor to view the blueprint data, so it can effectively improve the speed of obtaining the blueprint data; on the other hand, it can be used directly without code permissions and compilation engine editors, thereby broadening the test surface and improving the overall testing efficiency of later clients.
[0137] In some implementations, the client includes multiple skill components, and the hook event refers to a hook operation for a preset script in the client, and the hook operation includes obtaining a logic control script in the client and configuration information of each skill component.
[0138] In some embodiments, before the input / output module 701 runs the hook plug-in injected into the client in a hook service manner, the processing module is further configured to:
[0139] Obtaining the preset script through the input / output module 701, wherein the preset script includes a hooked function for calling the preset script;
[0140] Add the preset script to the target directory, which is the installation directory of the client on the terminal;
[0141] A hook function is set in the hook plug-in, and the hook plug-in is associated with the preset script, wherein the hook function is used to perform a hook operation on the hooked function that calls the preset script.
[0142] In some implementations, the processing module 703 is specifically configured to:
[0143] Get the blueprint path collection;
[0144] Loading the blueprint object corresponding to the blueprint path set according to the preset script, and performing data transformation on the blueprint object;
[0145] The blueprint data is obtained according to the client identifier, the client version and the blueprint object after data transformation.
[0146] In some implementations, the processing module 703 is specifically configured to:
[0147] Acquire multiple blueprint paths according to the type of the blueprint path to obtain the blueprint path set;
[0148] Through the preset script, each type of blueprint path is instantiated to obtain the corresponding blueprint object;
[0149] Get the properties and property values of each blueprint object;
[0150] Determines an object of a preset type from each blueprint object based on the property value of the blueprint object.
[0151] In some implementations, the hook operation further includes updating the preset script; and the processing module 703 is further configured to:
[0152] After the hook event is detected by the hook plug-in, external data is obtained through the input and output module 701, and the external data is data for updating the preset script;
[0153] The control module 702 is further configured to start a preset script in the interactive application according to the hook event through the hook plug-in;
[0154] The processing module 703 is further configured to update the historical preset script according to the external data to obtain the preset script.
[0155] The above describes the device for obtaining blueprint data in the embodiment of the present application from the perspective of modular functional entities. The following describes the device for executing the method for obtaining blueprint data in the embodiment of the present application from the perspective of hardware processing. It should be noted that in the embodiment of the present application Figure 7 The physical device corresponding to the input / output module 701 in the illustrated embodiment may be an input / output unit, a transceiver, a radio frequency circuit, a radio frequency (RF) circuit, a communication module, and an output interface, etc., and the physical device corresponding to the control module 702 and the processing module 703 may be a processor. Figure 7 The device 70 shown may have Figure 8 The structure shown, when Figure 7 The device 70 shown has the following features: Figure 8 When the structure shown is Figure 8 The processor and input / output unit in the embodiment can realize the same or similar functions as the input / output module 701, the control module 702 and the processing module 703 provided in the aforementioned device embodiment corresponding to the device. Figure 8 The memory in the storage processor is a computer program that needs to be called when executing the above method for obtaining blueprint data.
[0156] The present application embodiment also provides another terminal capable of implementing the above method of obtaining blueprint data, such as Figure 9 For ease of explanation, only the parts related to the embodiments of the present application are shown. For specific technical details not disclosed, please refer to the method part of the embodiments of the present application. The terminal can be any terminal device including a mobile phone, a tablet computer, a personal digital assistant (English full name: Personal Digital Assistant, English abbreviation: PDA), a sales terminal (English full name: Point of Sales, English abbreviation: POS), a car computer, etc. Taking the terminal as a mobile phone as an example:
[0157] Figure 9 The block diagram shows a partial structure of a mobile phone related to the terminal provided in the embodiment of the present application. Figure 9 The mobile phone includes: RF circuit 99, memory 920, input unit 930, display unit 940, sensor 950, audio circuit 960, wireless fidelity (English full name: wireless fidelity, English abbreviation: Wi-Fi) module 970, processor 990, and power supply 990 and other components. Those skilled in the art will understand that Figure 9 The mobile phone structure shown in the figure does not constitute a limitation to the mobile phone, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0158] The following combination Figure 9 A detailed introduction to the various components of a mobile phone:
[0159] RF circuitry 99 is used for transmitting and receiving information or calls, receiving and transmitting signals. Specifically, it receives downlink information from the base station and transmits it to processor 990 for processing. It also transmits uplink data to the base station. Typically, RF circuitry 99 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, and more. RF circuitry 99 can also communicate with the network and other devices via wireless communication. The above-mentioned wireless communications may use any communication standard or protocol, including but not limited to Global System of Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.
[0160] The memory 920 can be used to store software programs and modules. The processor 990 executes the various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 920. The memory 920 may mainly include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function (such as a sound playback function, an image playback function, etc.); the data storage area may store data created based on the use of the mobile phone (such as audio data, a phone book, etc.). In addition, the memory 920 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage device.
[0161] The input unit 930 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the mobile phone. Specifically, the input unit 930 may include a touch panel 931 and other input devices 932. The touch panel 931, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by the user using any suitable object or accessory such as a finger, stylus, etc. on or near the touch panel 931) and drive the corresponding connection device according to a pre-set program. Optionally, the touch panel 931 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch direction, detects the signal caused by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 990, and can receive commands sent by the processor 990 and execute them. In addition, the touch panel 931 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 931, the input unit 930 may further include other input devices 932. Specifically, the other input devices 932 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick.
[0162] The display unit 940 can be used to display information input by the user or information provided to the user and various menus of the mobile phone. The display unit 940 may include a display panel 941. Optionally, the display panel 941 may be configured in the form of a liquid crystal display (English full name: Liquid Crystal Display, English abbreviation: LCD), an organic light-emitting diode (English full name: Organic Light-Emitting Diode, English abbreviation: OLED), etc. Further, the touch panel 931 may cover the display panel 941. When the touch panel 931 detects a touch operation on or near it, it is transmitted to the processor 990 to determine the type of touch event. Subsequently, the processor 990 provides corresponding visual output on the display panel 941 according to the type of touch event. Although in Figure 9 In the embodiment, the touch panel 931 and the display panel 941 are used as two independent components to realize the input and output functions of the mobile phone, but in some embodiments, the touch panel 931 and the display panel 941 can be integrated to realize the input and output functions of the mobile phone.
[0163] The mobile phone may also include at least one sensor 950, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 941 according to the brightness of the ambient light, and the proximity sensor may turn off the display panel 941 and / or the backlight when the mobile phone is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that identify the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that the mobile phone can also be configured with, such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be described here.
[0164] Audio circuit 960, speaker 961, and microphone 962 provide an audio program interface between the user and the mobile phone. Audio circuit 960 converts received audio data into electrical signals and transmits them to speaker 961, which then converts them into sound signals for output. Microphone 962, on the other hand, converts collected sound signals into electrical signals, which are then received by audio circuit 960 and converted into audio data. The audio data is then output to processor 990 for processing, then sent to, for example, another mobile phone via RF circuit 99, or stored in memory 920 for further processing.
[0165] Wi-Fi is a short-range wireless transmission technology. Mobile phones can help users send and receive emails, browse the web, and access streaming media through the Wi-Fi module 970. It provides users with wireless broadband Internet access. Figure 9 A Wi-Fi module 970 is shown, but it is understandable that it is not an essential component of the mobile phone and can be omitted as needed without changing the essence of the application.
[0166] The processor 990 is the control center of the phone, connecting all parts of the phone using various interfaces and circuits. By running or executing software programs and / or modules stored in the memory 920 and accessing data stored in the memory 920, it performs various phone functions and processes data, thereby performing overall phone testing. Optionally, the processor 990 may include one or more processing units; preferably, the processor 990 may integrate an application processor and a modem processor, wherein the application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into the processor 990.
[0167] The mobile phone also includes a power supply 990 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 990 through a power management system, thereby managing charging, discharging, and power consumption through the power management system.
[0168] Although not shown, the mobile phone may also include a camera, a Bluetooth module, etc., which will not be described in detail here.
[0169] In an embodiment of the present application, the processor 990 included in the mobile phone also has the function of controlling the steps executed by each module in the device 70 for obtaining blueprint data.
[0170] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0171] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0172] In the several embodiments provided in the embodiments of the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or modules, which can be electrical, mechanical or other forms.
[0173] The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules may be selected to achieve the purpose of the present embodiment according to actual needs.
[0174] In addition, the functional modules in each embodiment of the present application can be integrated into a processing module, or each module can exist physically separately, or two or more modules can be integrated into a module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. If the integrated modules are implemented in the form of software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium.
[0175] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0176] The computer program product includes one or more computer instructions. When the computer program is loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a server, or a data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode to another website, a computer, a server, or a data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or a data center that includes one or more available media integrations. The available medium can be a magnetic medium, (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid-state drive Solid State Disk (SSD)), etc.
[0177] The above is a detailed introduction to the technical solutions provided in the embodiments of the present application. Specific examples are used in the embodiments of the present application to illustrate the principles and implementation methods of the embodiments of the present application. The description of the above embodiments is only used to help understand the methods and core ideas of the embodiments of the present application. At the same time, for those skilled in the art, according to the ideas of the embodiments of the present application, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as a limitation on the embodiments of the present application.
Claims
1. A method for obtaining blueprint data, characterized in that: The method comprises: Run the hook plug-in injected into the client by hooking the hook service; After the hook event is detected by the hook plug-in, the preset script in the client is started according to the hook event by the hook plug-in; Obtaining blueprint data from the client through the preset script; Sending the blueprint data to a server; wherein the blueprint data is data used by the server to perform performance testing on the client; wherein the server includes a web server, and the web server is used to display versions and compare differences of the blueprint data; The obtaining of blueprint data from the client through the preset script includes: Get the blueprint path collection; Loading the blueprint object corresponding to the blueprint path set according to the preset script, and performing data transformation on the blueprint object; The blueprint data is obtained according to the client identifier, the client version and the blueprint object after data transformation.
2. The method according to claim 1, characterized in that The client includes multiple skill components, and the hook event refers to a hook operation for a preset script in the client. The hook operation includes obtaining a logic control script in the client and configuration information of each skill component.
3. The method according to claim 2, characterized in that Before running the hook plug-in injected into the client in a hook service manner, the method further includes: Obtaining the preset script, wherein the preset script includes a hooked function for calling the preset script; Add the preset script to the target directory, which is the installation directory of the client on the terminal; A hook function is set in the hook plug-in, and the hook plug-in is associated with the preset script, wherein the hook function is used to perform a hook operation on the hooked function that calls the preset script.
4. The method according to claim 1, wherein The step of loading a blueprint object corresponding to the blueprint path set according to the preset script and performing data transformation on the blueprint object includes: Acquire multiple blueprint paths according to the type of the blueprint path to obtain the blueprint path set; Through the preset script, each type of blueprint path is instantiated to obtain the corresponding blueprint object; Get the properties and property values of each blueprint object; Determines an object of a preset type from each blueprint object based on the property value of the blueprint object.
5. The method according to claim 2 or 3, characterized in that The hook operation further includes updating the preset script; the method further includes: After the hook event is detected by the hook plug-in, external data is obtained, where the external data is data for updating the preset script; Using the hook plug-in, a preset script in the client is started according to the hook event; The historical preset script is updated according to the external data to obtain the preset script.
6. The method according to claim 1, characterized in that The blueprint data is stored on the blockchain node.
7. A device for obtaining blueprint data, characterized in that: The device comprises: Input and output modules are used to run the hook plug-in injected into the client by hooking the hook service; A control module, configured to, after detecting a hook event through the hook plug-in, activate a preset script in the client according to the hook event through the hook plug-in; A processing module, configured to obtain blueprint data from the client through the preset script; The input / output module is further configured to send the blueprint data to the server; wherein the blueprint data is data used by the server to perform performance testing on the client; wherein the server includes a web server, and the web server is configured to display versions and compare differences of the blueprint data; The processing module is used to: obtain a blueprint path set; load a blueprint object corresponding to the blueprint path set according to the preset script, and perform data transformation on the blueprint object; and obtain the blueprint data according to the client identifier, client version and the blueprint object after data transformation.
8. The device according to claim 7, characterized in that The processing module is used for: Acquire multiple blueprint paths according to the type of the blueprint path to obtain the blueprint path set; Through the preset script, each type of blueprint path is instantiated to obtain the corresponding blueprint object; Get the properties and property values of each blueprint object; Determines an object of a preset type from each blueprint object based on the property value of the blueprint object.
9. A device for obtaining blueprint data, characterized in that: The device comprises: at least one processor, memory, and transceiver; The memory is used to store a computer program, and the processor is used to call the computer program stored in the memory to execute the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that The method comprises instructions which, when executed on a computer, cause the computer to perform the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method and device for acquiring running data of application program, equipment and readable medium
CN110275736A