Data processing method and device, electronic equipment and storage medium
By using a synchronization server to drive the recording and playback of multiple test terminals, the synchronization problem in multi-player collaborative virtual scene testing was solved, improving testing effectiveness and reducing costs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2024-11-25
- Publication Date
- 2026-05-26
Smart Images

Figure CN122076040A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a data processing method, apparatus, electronic device, and storage medium. Background Technology
[0002] Currently, automated testing of game applications can be achieved using recording and playback technology. This involves first recording test cases for playback within a virtual scene of the game application, and then replaying those test cases.
[0003] However, the recording and playback methods in the relevant technologies cannot support multi-player collaborative testing of virtual scenarios, resulting in poor testing results and high testing costs for the virtual scenario. Summary of the Invention
[0004] To address the problems of the prior art, embodiments of this application provide a data processing method, apparatus, electronic device, and storage medium. The technical solution is as follows:
[0005] On the one hand, a data processing method is provided, applied to any one of multiple test terminals, wherein the multiple test terminals run a virtual scene of a target interactive application, and each of the test terminals corresponds to a master virtual object in the virtual scene, the method comprising:
[0006] Obtain the current recording instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate; the current recording instruction is used to instruct the recording of data for the current driving frame.
[0007] In response to the current recording instruction, the operation process of the virtual scene is recorded based on the logical duration of the driving frame to obtain frame recording data corresponding to the current driving frame; the frame recording data represents the interactive operation events during the operation process and the object state of virtual objects in the virtual scene;
[0008] When the recording for the current recording instruction ends, a first confirmation message is returned to the synchronization server, so that the synchronization server, upon confirming that it has received the first confirmation message from each of the test terminals, executes the step of sending the current recording instruction to multiple test terminals according to the preset driving frame rate. The first confirmation message indicates that the data recording of the current driving frame has been completed.
[0009] In response to the recording completion command for the virtual scene, a local recording file is generated based on the frame recording data corresponding to each driving frame and stored locally;
[0010] In response to the current playback instruction sent by the synchronization server to the plurality of test terminals according to the preset driving frame rate, the virtual scene of the target interactive application is played back based on the frame recording data corresponding to the current playback instruction in the local recording file.
[0011] On the other hand, a data processing method is provided, applied to a synchronization server, the method comprising:
[0012] The current recording instruction is sent to multiple test terminals according to a preset driving frame rate. The current recording instruction is used to instruct the recording of data for the current driving frame. The multiple test terminals run a virtual scene with a target interactive application. Each test terminal has a master virtual object in the virtual scene.
[0013] A first confirmation message is obtained from any of the test terminals. This first confirmation message is returned by any of the test terminals in response to the current recording instruction, after recording the operation of the virtual scene based on the logical duration of the driving frame, and upon completion of the recording, to the synchronization server. Specifically, each test terminal obtains frame recording data corresponding to the current driving frame upon completion of recording for the current recording instruction. This frame recording data represents the interactive operation events during the operation and the object states of virtual objects in the virtual scene. The first confirmation message indicates that the data recording of the current driving frame has been completed.
[0014] If it is confirmed that the first confirmation message has been received from each of the multiple test terminals, the step of sending the current recording instruction to the multiple test terminals according to the preset driving frame rate is executed until the recording of the virtual scene is completed;
[0015] According to the preset driving frame rate, a current playback instruction is sent to the plurality of test terminals, so that any of the test terminals can play back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback instruction in the local recording file.
[0016] On the other hand, a data processing device is provided, configured on any one of a plurality of test terminals, wherein the plurality of test terminals run a virtual scene of a target interactive application, and each of the test terminals corresponds to a master virtual object in the virtual scene, the device comprising:
[0017] The recording instruction acquisition module is used to acquire the current recording instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate; the current recording instruction is used to instruct the recording of data for the current driving frame.
[0018] The data recording module is used to record the running process of the virtual scene based on the driving frame logical duration in response to the current recording instruction, so as to obtain frame recording data corresponding to the current driving frame; the frame recording data represents the interactive operation events during the running process and the object state of virtual objects in the virtual scene;
[0019] The first confirmation message return module is used to return a first confirmation message to the synchronization server when the recording of the current recording instruction is completed, so that the synchronization server, upon determining that it has received the first confirmation message from each of the test terminals, executes the step of sending the current recording instruction to multiple test terminals according to the preset driving frame rate. The first confirmation message indicates that the data recording of the current driving frame has been completed.
[0020] The recording file storage module is used to generate a local recording file stored locally based on the frame recording data corresponding to each driving frame in response to the recording completion command for the virtual scene.
[0021] The playback module, in response to the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate, plays back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback instruction in the local recording file.
[0022] In one exemplary embodiment, the playback module includes:
[0023] The playback instruction acquisition module is used to acquire the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset drive frame rate; the current playback instruction is used to instruct the data playback of the current drive frame;
[0024] The frame data playback module is used to respond to the current playback command, determine the frame recording data corresponding to the current driving frame in the local recording file, and run the frame recording data of the current driving frame on the target interactive application to play back the virtual scene;
[0025] The second confirmation message return module is used to return a second confirmation message to the synchronization server when the playback of the current playback instruction ends, so that the synchronization server, upon determining that it has received the second confirmation message from each of the test terminals, executes the step of sending the current playback instruction to the multiple test terminals according to the preset driving frame rate. The second confirmation message indicates that the data playback of the current driving frame has been completed.
[0026] In one exemplary embodiment, the frame data playback module includes:
[0027] The playback running status determination module is used to determine the playback running status of the virtual scene based on the frame recording data of the current driving frame.
[0028] The running state adjustment module is used to adjust the virtual scene to the playback running state when the current running state of the virtual scene does not match the playback running state.
[0029] The playback submodule is used to run the frame recording data of the current driving frame on the target interactive application to replay the virtual scene starting from the playback running state.
[0030] In one exemplary embodiment, the data recording module is specifically used for:
[0031] During the operation of the virtual scene, the object state of the virtual objects in the virtual scene is recorded based on the logical duration of the driving frame to obtain object state data;
[0032] In response to receiving an interactive operation event, the interactive operation event is recorded to obtain operation data;
[0033] The frame recording data includes the object state data and the operation data.
[0034] On the other hand, a data processing apparatus is provided, configured on a synchronization server, the apparatus comprising:
[0035] The recording instruction sending module is used to send a current recording instruction to multiple test terminals according to a preset driving frame rate. The current recording instruction is used to instruct the recording of data for the current driving frame. The multiple test terminals run a virtual scene of a target interactive application, and each test terminal corresponds to a master virtual object in the virtual scene.
[0036] The first confirmation message acquisition module is used to acquire a first confirmation message returned by any of the test terminals. The first confirmation message is returned by any of the test terminals to the synchronization server at the end of the recording process of the virtual scene based on the logical duration of the driving frame in response to the current recording instruction. Specifically, each test terminal obtains frame recording data corresponding to the current driving frame at the end of the recording for the current recording instruction. The frame recording data represents the interactive operation events during the operation process and the object state of virtual objects in the virtual scene. The first confirmation message indicates that the data recording of the current driving frame has been completed.
[0037] The first confirmation message determination module is used to execute the step of sending the current recording instruction to the multiple test terminals according to the preset driving frame rate when it is determined that the first confirmation message returned by each of the multiple test terminals has been received, until the recording of the virtual scene is completed.
[0038] The playback instruction sending module is used to send a current playback instruction to the plurality of test terminals according to the preset driving frame rate, so that any of the test terminals can play back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback instruction in the local recording file.
[0039] In one exemplary embodiment, the apparatus further includes:
[0040] The cancellation recording module is used to send a cancellation recording instruction to the plurality of test terminals if no first confirmation message is received from each of the test terminals within a preset time period after sending the current recording instruction, so that the plurality of test terminals respond to the cancellation recording instruction and cancel the recording of the virtual scene.
[0041] In one exemplary embodiment, the playback instruction sending module includes:
[0042] The sending module is used to send a current playback instruction to the plurality of test terminals according to the preset driving frame rate. The current playback instruction is used to instruct the data playback of the current driving frame.
[0043] The second confirmation message acquisition module is used to acquire a second confirmation message returned by any of the test terminals. The second confirmation message is that any of the test terminals, in response to the current playback instruction, determines the frame recording data corresponding to the current driving frame in the local recording file; runs the frame recording data of the current driving frame on the target interactive application to play back the virtual scene, and returns it to the synchronization server when the playback ends; the second confirmation message indicates that the data playback of the current driving frame has been completed.
[0044] The second confirmation message determination module is used to, upon determining that the second confirmation message returned by each of the plurality of test terminals has been received, execute the step of sending the current playback instruction to the plurality of test terminals according to the preset driving frame rate, until the playback of the virtual scene is completed.
[0045] In one exemplary embodiment, the apparatus further includes:
[0046] The cancel playback module is used to send a cancel playback command to the plurality of test terminals if no second confirmation message is received from each of the test terminals within a preset time period after sending the current playback command, so that the plurality of test terminals respond to the cancel playback command and cancel the playback of the virtual scene.
[0047] In one exemplary embodiment, the apparatus further includes:
[0048] The recording request acquisition module is used to acquire a recording request from any of the test terminals, wherein the recording request includes the number of test terminals participating in the virtual scene recording; when the number of received recording requests matches the number of test terminals participating in the virtual scene recording, the step of sending the current recording instruction to multiple test terminals according to a preset driving frame rate is executed.
[0049] On the other hand, an electronic device is provided, including a processor and a memory, wherein the memory stores at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the data processing method of any of the above aspects.
[0050] On the other hand, a computer-readable storage medium is provided, wherein at least one instruction or at least one program is stored therein, the at least one instruction or the at least one program being loaded and executed by a processor to implement the data processing method as described in any of the above aspects.
[0051] On the other hand, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the data processing method described above.
[0052] In this embodiment, the synchronization server sends a current recording instruction to multiple test terminals according to a preset driving frame rate. Each test terminal responds to the current recording instruction by recording the virtual scene's operation based on the driving frame logical duration to obtain frame recording data corresponding to the current driving frame. Upon completion of the recording, each test terminal returns a first confirmation message to the synchronization server indicating that the data recording of the current driving frame has been completed. This allows the synchronization server, upon receiving the first confirmation messages from each test terminal, to execute the step of sending the current recording instruction to multiple test terminals according to the preset driving frame rate. Each test terminal can respond to the recording completion instruction for the virtual scene based on the... The frame recording data corresponding to the driving frame is generated and stored locally. It can respond to the current playback command sent by the synchronization server to multiple test terminals according to the preset driving frame rate. Based on the frame recording data corresponding to the current playback command in the above-mentioned local recording file, the virtual scene of the target interactive application is played back. In this way, the synchronization server drives the recording and playback on multiple test terminals according to the preset driving frame rate. This not only supports the testing of virtual scenes with multi-player cooperation, but also ensures the consistency of player status on each test terminal, improving the testing effect of the virtual scene. Moreover, the generated recording file can be run across versions, reducing the testing cost. Attached Figure Description
[0053] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0054] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application;
[0055] Figure 2 This is a flowchart illustrating a data processing method provided in an embodiment of this application;
[0056] Figure 3 This is a flowchart illustrating another data processing method provided in an embodiment of this application;
[0057] Figure 4 This is a schematic diagram of a data playback stage provided in an embodiment of this application;
[0058] Figure 5 This is another schematic diagram of the data playback stage provided in the embodiments of this application;
[0059] Figure 6 This is an example of a synchronization server driving data playback on multiple test terminals, provided in an embodiment of this application.
[0060] Figure 7 This is a flowchart illustrating another data processing method provided in an embodiment of this application;
[0061] Figure 8 This is a flowchart illustrating another data processing method provided in an embodiment of this application;
[0062] Figure 9 This is a structural block diagram of a data processing apparatus provided in an embodiment of this application;
[0063] Figure 10 This is a structural block diagram of another data processing device provided in the embodiments of this application;
[0064] Figure 11 This is a hardware structure block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0065] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0066] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or server that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.
[0067] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0068] It is understood that in the specific embodiments of this application, data such as user information are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0069] Please see Figure 1 The diagram shown is an implementation environment provided in this application embodiment. The implementation environment includes multiple test terminals 110, an application server 120, and a synchronization server 130. The multiple test terminals 110 can connect and communicate with the application server 120 and the synchronization server 130 through wired or wireless networks.
[0070] Multiple test terminals 110 include, but are not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, and aircraft. Each of the multiple test terminals 110 runs a target interactive application. This target interactive application can be any application capable of providing a virtual scene for users to immerse themselves in and manipulate virtual objects within that virtual scene. Each test terminal 110 has a corresponding master virtual object within the virtual scene. The target interactive application has an account login function, allowing each test terminal 110 to register and log in to its own user account. This user account can include one or more master roles. For example, the target interactive application can be a multiplayer online game application, and the virtual scene can be a multiplayer cooperative virtual scene, such as a virtual scene in a multiplayer shooting survival game or a multiplayer online battle arena (MOBA) game. Each test terminal 110 can log in to its own player account within the multiplayer online game application, and this player account can include one or more player roles.
[0071] The aforementioned virtual scene refers to the scene displayed (or provided) by the client of the target interactive application when it runs on each test terminal 110. This virtual scene refers to a scene created for virtual objects to perform activities (such as gaming), such as virtual houses, virtual islands, virtual maps, etc. The virtual scene can be a simulation of the real world, a semi-simulated / semi-fictional environment, or a purely fictional environment. The virtual scene can be a two-dimensional virtual environment, a 2.5-dimensional virtual environment, or a three-dimensional virtual environment; this application embodiment does not limit this.
[0072] The aforementioned virtual objects refer to the virtual characters controlled by the user accounts corresponding to each test terminal 110 in the target interactive application. Taking a game application as an example, a virtual object refers to a game character controlled by a user account in the game application. Virtual objects can be human figures, animals, cartoons, or other forms; this application embodiment does not limit this. Virtual objects can be displayed in three-dimensional or two-dimensional form; this application embodiment does not limit this. Optionally, when the virtual scene is a three-dimensional virtual scene, the virtual object is a three-dimensional model created based on animation skeletal technology. Each virtual object has its own shape and volume in the three-dimensional simulated scene, occupying a portion of the space in the three-dimensional virtual environment.
[0073] Application server 120 is used to run the processing logic of the target interactive application in the backend to realize the functionality of the target interactive application. Taking a multiplayer online game as an example, application server 120 can run part or all of the game processing logic of the multiplayer online game in the backend.
[0074] The synchronization server 120 is used to control the recording and playback process when recording and playing back virtual scenes of a target interactive application. This enables the recording and playback on multiple test terminals to be driven according to a preset driving frame rate. It can not only support virtual scenes with multi-player cooperation, but also ensure the consistency of player status on each test terminal, thereby improving the testing effect of the virtual scene. Furthermore, the generated recording files can be run across versions, reducing testing costs.
[0075] It should be noted that the server involved in the embodiments of this application can be an independent physical server, 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 communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0076] Please see Figure 2 The diagram shown is a flowchart illustrating a data processing method provided in an embodiment of this application. This method can be applied to... Figure 1The system is shown. It should be noted that this specification provides the operational steps of the methods described in the embodiments or flowcharts, but based on conventional or non-inventive labor, more or fewer operational steps may be included. The order of steps listed in the embodiments is merely one possible execution order among many and does not represent the only execution order. In actual system or product execution, the methods shown in the embodiments or drawings can be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment). Specifically, as shown... Figure 2 As shown, the method may include:
[0077] S201, the synchronization server sends the current recording command to multiple test terminals according to the preset drive frame rate.
[0078] The current recording instruction is used to instruct data recording for the current driving frame. The multiple test terminals run a virtual scene of the target interactive application, and each test terminal corresponds to a master virtual object within the virtual scene. The current driving frame refers to the driving frame generated by the synchronization server according to a preset driving frame rate. Here, the driving frame can be understood as the time unit for recording and playback controlled by the synchronization server; each driving frame is used to instruct for one data recording or playback.
[0079] The preset driving frame rate can be pre-set by the synchronization server. For example, it could generate a driving frame every 33ms, meaning the synchronization server can send a current recording command to multiple test terminals every 33ms. In specific implementations, the current recording command sent by the synchronization server can include the frame number of the current driving frame. This allows subsequent test terminals to store the recorded data based on the frame number when they finish recording the corresponding driving frame, facilitating playback of the recorded data later. Here, the synchronization server can use an automatically incrementing counter to sequentially generate the frame numbers of each driving frame. The following is an example of a data structure for the current recording command:
[0080] {
[0081] uint32_t uFrameid; The frame number of the current driving frame.
[0082] uint32_t uTimeStamp; timestamp corresponding to the current driver frame on the synchronization server side;
[0083] };
[0084] For example, the current recording instruction in step S201 above can be the first recording instruction issued by the synchronization server. To improve the success rate of data recording for virtual scenes, such as... Figure 3As shown, before the synchronization server sends the current recording command to multiple test terminals according to the preset drive frame rate, the method may further include:
[0085] S301, the first test terminal sends a recording request to the synchronization server, which includes the number of test terminals participating in the virtual scene recording.
[0086] The first test terminal is any one of the multiple test terminals.
[0087] Specifically, multiple test terminals can connect to the synchronization server to register before recording begins and send a recording request. This request reports the identifier of the virtual scene to be recorded, the identifier of the test, and the number of participating test terminals. Taking a multiplayer online game application as an example, the following is a data structure example for the corresponding recording request:
[0088] {
[0089] FString uGameid; Game ID
[0090] uint32_t uTestid; / / Current test ID
[0091] uint32_t uTestroleNum; / / Number of test terminals (i.e., players) participating in the recording
[0092] }
[0093] Correspondingly, the synchronization server receives the recording request from the first test terminal.
[0094] S303, the synchronization server determines whether the number of received recording requests matches the number of test terminals participating in the virtual scene recording, and if the result of the determination is that they match, it executes the aforementioned step S201.
[0095] Specifically, the synchronization server can parse the recording request sent by the first test terminal to obtain the number of test terminals participating in the recording of the virtual scene, and then determine whether the number of received corresponding recording requests matches the number of test terminals participating in the recording of the virtual scene. If they match, it means that the recording requests of each test terminal among the multiple test terminals participating in this recording have been received, and the aforementioned step S201 can be executed at this time; otherwise, if they do not match, the synchronization server can continue to wait until it receives the recording requests of all test terminals participating in this recording before executing the aforementioned step S201.
[0096] S203, the first test terminal obtains the current recording instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate.
[0097] S205, the first test terminal responds to the current recording instruction and records the running process of the virtual scene based on the driving frame logical duration to obtain frame recording data corresponding to the current driving frame. The frame recording data represents the interactive operation events during the running process and the object state of virtual objects in the virtual scene.
[0098] The logical duration of the driving frame can be the same as the time interval between two adjacent driving frames. For example, the synchronization server generates a driving frame within a fixed time interval and simultaneously sends a current recording command to multiple test terminals. This current recording command contains the frame number of the currently generated driving frame. The first test terminal responds to this current recording command and begins recording. When the first test terminal continuously records the virtual scene for the duration of the driving frame's logical duration, it stops recording and obtains the frame recording data corresponding to the current driving frame upon stopping the recording. In specific implementations, the first test terminal can establish a correspondence between the frame number of the current driving frame and the corresponding frame recording data to facilitate subsequent playback control of the corresponding frame recording data across multiple test terminals based on the driving frame.
[0099] In this embodiment, frame recording data represents interactive operation events during the operation process and the object state of virtual objects in the virtual scene. Interactive operation events are those triggered by the user through interactive controls on the virtual scene interface. The object state of the virtual object in the virtual scene refers to the object state of the virtual object controlled by the first test terminal in the virtual scene. This object state may include one or more of the following: position information, turning information, and posture information. The position information indicates the virtual object's position in a preset coordinate system corresponding to the virtual scene; for example, the position information (Location) is represented by the virtual object's position coordinates in the world coordinate system of the virtual scene. The turning information indicates the virtual object's orientation change in the virtual scene; for example, the turning information (Rotation) is represented by the virtual object's rotation direction in the world coordinate system of the virtual scene. The posture information indicates the virtual object's posture in the virtual scene, and the posture includes one or more of the following: standing posture, squatting posture, and prone posture.
[0100] Based on this, in step S205 above, the frame recording data obtained by the first test terminal corresponding to the current driving frame may include object state data and operation data. For example, step S205 may include: during the operation of the virtual scene, the first test terminal records the object state of the virtual object in the virtual scene based on the driving frame logical duration to obtain the object state data; the first test terminal records the interactive operation event in response to receiving the interactive operation event to obtain the operation data.
[0101] In specific implementation, object state data can be generated through key logic frames. These key logic frames are data logic frames that the target interactive application runs on the first test terminal, and they include the object state of the virtual object controlled by the first test terminal. For example, during the operation of the virtual scene, the first test terminal can obtain key frames from the target interactive application's runtime engine based on the driving frame logic duration to generate object state data corresponding to the frame recording data of the current driving frame. The aforementioned runtime engine is an engine that provides functions such as modeling, layout, animation generation, lighting, visual effects, rendering, and compositing. Optionally, the aforementioned runtime engine includes the Unity3D engine, Unreal Engine, etc.
[0102] In specific implementation, the first test terminal can pre-store the mapping relationship between interactive controls and interactive operation events. These interactive operation events indicate event commands used to control virtual objects. The first test terminal can detect interactive controls based on the logical duration of the driving frame. When a trigger signal for a specific interactive control is detected, it can respond to the trigger signal, obtain the trigger time corresponding to the trigger signal, and generate operation data corresponding to the frame recording data of the current driving frame based on the trigger time and the interactive operation event corresponding to the triggered interactive control in the aforementioned mapping relationship.
[0103] In the above embodiments, the first test terminal records the object state of virtual objects in the virtual scene and the received interactive operation events based on the logical duration of the driving frame to obtain frame recording data corresponding to the current driving frame. Thus, when playing back the frame recording data based on the driving frame in the first test terminal, it is not limited by the version of the target interactive application in the first test terminal. That is, the version of the target interactive application in the first test terminal during playback can be different from the version of the target interactive application in the first test terminal during recording. This allows for playback between multiple versions of the target interactive application with only one recording, improving testing efficiency and reducing testing costs.
[0104] S207, when the first test terminal finishes recording for the current recording instruction, it returns a first confirmation message to the synchronization server, the first confirmation message indicating that the data recording of the current driving frame has been completed.
[0105] In this embodiment of the application, after the first test terminal completes the data recording for the current recording instruction, it will send the aforementioned first confirmation message to the synchronization server.
[0106] S209, the synchronization server obtains the aforementioned first confirmation message returned by the first test terminal.
[0107] S211, when the synchronization server determines that it has received the first confirmation message returned by each of the multiple test terminals, it returns to the aforementioned step S201.
[0108] Specifically, after issuing the current recording command, the synchronization server can detect the number of received first confirmation messages in real time. If the number of received first confirmation messages is equal to the number of multiple test terminals, it is determined that the first confirmation message returned by each of the multiple test terminals has been received, and at this time, it can return to execute the aforementioned step S201. If the number of received first confirmation messages is less than the number of multiple test terminals, the synchronization server can continue to wait for the returned first confirmation messages.
[0109] S213, the first test terminal responds to the recording completion command for the virtual scene and generates a local recording file stored locally based on the frame recording data corresponding to each driving frame.
[0110] Specifically, the recording completion command for the virtual scene can be generated when the virtual scene finishes running, or it can be triggered by the recording completion control displayed on the interface of the first test terminal. In response to the recording completion command for the virtual scene, the first test terminal can generate a recording file based on the correspondence between the frame number of each driving frame and the frame recording data of each driving frame, and store the recording file locally on the first test terminal to obtain a local recording file.
[0111] S215, after recording of the virtual scene is completed, the synchronization server stops executing the aforementioned step S201.
[0112] In specific implementation, in response to the recording completion instruction for the virtual scene, the first test terminal can also send a recording completion message to the synchronization server. The recording completion message indicates that the recording for the virtual scene has been completed. Thus, when the synchronization server receives the recording completion message, it can determine that the recording for the virtual scene has been completed and then stop executing the aforementioned step 201.
[0113] S217, the synchronization server sends a current playback instruction to the plurality of test terminals according to the preset driving frame rate. The current playback instruction is used to instruct the data playback of the current driving frame.
[0114] In specific implementation, before the synchronization server issues the aforementioned current playback instruction, each test terminal can load its local recording file into the target interactive application and send a playback request to the synchronization server after loading. The data structure of the playback request can be the same as the data structure of the aforementioned recording request, and can include the number of test terminals participating in the playback of the virtual scene. When the synchronization server determines that it has received the playback requests from all test terminals, it can execute the step of sending the current playback instruction to the multiple test terminals according to the preset driving frame rate, thereby improving the success rate of data playback for the virtual scene.
[0115] It should be noted that the version of the target interactive application running on each test terminal during the playback phase may be different from the version of the target interactive application running during the recording phase.
[0116] S219, the first test terminal responds to the aforementioned current playback command and plays back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback command in the local recording file.
[0117] In some exemplary embodiments, the method may further include:
[0118] If the synchronization server does not receive the first confirmation message from each of the test terminals within a preset time period after sending the current recording instruction, it sends a cancel recording instruction to the multiple test terminals.
[0119] Each of the test terminals responds to the cancel recording command and cancels the recording of the virtual scene.
[0120] The preset duration is much longer than the time interval between adjacent driving frames. For example, the preset duration can be 30 seconds. This allows the synchronization server to cancel recording of the virtual scene if it does not receive the first confirmation message from all test terminals for a long time, thus avoiding waste of resources on the synchronization server.
[0121] This application embodiment uses a synchronization server to drive the recording and playback on multiple test terminals according to a preset driving frame rate, and all the recording files of the test terminals are stored locally. During the recording and playback process, the network protocol is only responsible for issuing recording / playback instructions, and has less dependence on the network environment. Therefore, it can not only support the testing of virtual scenes with multi-player cooperation, but also ensure the consistency of player status on each test terminal, improve the testing effect of the virtual scene, and the generated recording files can be run across versions, reducing the testing cost.
[0122] The following is combined Figure 4 The data playback stage of steps S217 to S219 described above will be explained in detail.
[0123] like Figure 4 As shown, it includes:
[0124] S401, the synchronization server sends a current playback instruction to the plurality of test terminals according to the preset driving frame rate. The current playback instruction is used to instruct the data playback of the current driving frame.
[0125] Specifically, the current playback instruction includes the frame number of the current driving frame generated by the synchronization server according to the aforementioned preset driving frame rate. Here, the synchronization server can use an incrementing counter with automatic incrementing function to generate the frame number of each driving frame sequentially. The data structure of this current playback instruction is similar to the data structure of the aforementioned current recording instruction.
[0126] S403, the first test terminal obtains the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset drive frame rate.
[0127] S405, the first test terminal responds to the current playback command, determines the frame recording data corresponding to the current driving frame in the local recording file, and runs the frame recording data of the current driving frame on the target interactive application to play back the virtual scene.
[0128] The first test terminal can be any one of multiple test terminals. In specific implementation, the local recording file stored locally by the first test terminal includes the correspondence between the frame number of each driving frame and the corresponding frame recording data. When the first test terminal receives the current playback command, it can extract the frame number (of the current driving frame) from the current playback command and search for the target correspondence that matches the frame number in the local recording file. The frame recording data in the target correspondence is the frame recording data corresponding to the current driving frame.
[0129] The first test terminal runs frame recording data of the current driving frame on the target interactive application to replay the virtual scene. This can include replaying the object state of the virtual object in the virtual scene based on the object state data in the frame recording data, and replaying the interaction events of the virtual object in the virtual scene based on the operation data in the frame recording data.
[0130] In some exemplary implementations, considering that during actual playback, network fluctuations or random numbers often cause discrepancies between the actual object state of the virtual object and that at the time of recording, failure to correct these discrepancies in a timely manner may result in disordered object states of the virtual object or significant differences in recorded and playback performance, leading to inaccurate test results. Therefore, as follows... Figure 5As shown, in step S405 above, when the first test client implements frame recording data of the current driving frame running on the target interactive application to replay the virtual scene, it may include:
[0131] S501, Based on the frame recording data of the current driving frame, determine the playback running status of the virtual scene.
[0132] The playback running status of the virtual scene can be characterized as the key logical frame of the object state data in the recorded frame.
[0133] S503, determine whether the current running state of the virtual scene matches the playback running state. If they do not match, proceed to step S505; if they match, proceed to step S507.
[0134] Specifically, the current running state of the virtual scene can be represented as the current running logical frame of the target interactive application in the first test terminal. If the current running logical frame is inconsistent with the above-mentioned key logical frame, it indicates that the current running state of the virtual scene does not match the playback running state; conversely, if the current running logical frame is consistent with the above-mentioned key logical frame, it indicates that the current running state of the virtual scene matches the playback running state.
[0135] S505, Adjust the virtual scene to the playback running state.
[0136] Specifically, adjusting the virtual scene to the playback running state can be done by running logic frames according to the running logic of the target interactive application. If the current logic frame is inconsistent with the aforementioned key logic frame, then the running logic frames continue to be run according to the running logic of the target interactive application until the current logic frame is consistent with the aforementioned key logic frame.
[0137] S507, run the frame recording data of the current driving frame on the target interactive application to play back the virtual scene starting from the playback running state.
[0138] In the above implementation, before replaying the frame recording data of the current driving frame, the first test terminal checks whether the current running state of the virtual scene matches the playback running state corresponding to the current driving frame. If they do not match, the running state of the virtual scene is corrected to the playback running state before the frame recording data of the current driving frame is replayed. This avoids the problem of inaccurate test results caused by large differences in recording and playback performance due to factors such as network fluctuations, and improves the test accuracy for multi-player virtual scenes.
[0139] S407, when the first test terminal finishes playing back the current playback instruction, it returns a second confirmation message to the synchronization server, the second confirmation message indicating that the data playback of the current driving frame has been completed.
[0140] In this embodiment of the application, after the first test terminal completes the data playback for the current playback instruction, it will send the aforementioned second confirmation message to the synchronization server.
[0141] S409, the synchronization server obtains the aforementioned second confirmation message returned by the first test terminal.
[0142] S411, when the synchronization server determines that it has received the second confirmation message returned by each of the multiple test terminals, it returns to the aforementioned step S401.
[0143] Specifically, after issuing the current playback command, the synchronization server can detect the number of received second confirmation messages in real time. If the number of received second confirmation messages is equal to the number of multiple test terminals, it is determined that the second confirmation message returned by each of the multiple test terminals has been received, and at this time, it can return to execute the aforementioned step S401. If the number of received second confirmation messages is less than the number of multiple test terminals, the synchronization server can continue to wait for the returned second confirmation messages.
[0144] S413, after the virtual scene has been replayed, the synchronization server stops executing the aforementioned step S401.
[0145] In specific implementation, when the first test terminal completes playback of the virtual scene, it can send a playback completion message to the synchronization server. This playback completion message indicates that playback of the virtual scene has been completed. Upon receiving this playback completion message, the synchronization server can determine that playback of the virtual scene has been completed and thus stop executing the aforementioned step S401. The playback completion message can be generated after all the frame recording data corresponding to all driver frames in the local recording file has been played back, or it can be generated based on the triggering of the playback end control displayed on the first test terminal's interface.
[0146] Figure 6 The image shows an example of data playback on multiple test terminals driven by a synchronization server according to an embodiment of this application. The virtual scene in this example is a game scene that requires cooperation and coordination among four players, who respectively correspond to... Figure 6 The four test terminals, Client1 to Client4, store locally recorded files generated by the aforementioned method according to the embodiments of this application. The preset driving frame rate of the synchronization server is 33ms per frame, and the synchronization server issues a recording / playback command for each driving frame generated. Figure 6 As shown, the synchronization server generated corresponding drive frames (frame numbers 1, 2, and 3) at times t1, t2, and t3, respectively, and issued playback commands containing the corresponding drive frame numbers. However, since the synchronization server did not receive the second confirmation message from Client1 at time t4, it did not generate a drive frame at time t4 and therefore did not issue the corresponding playback command. The synchronization server continued to wait for the second confirmation message from Client1. Since the synchronization server received the second confirmation message from Client1 before time t5, that is, it received the second confirmation messages from all four test terminals, the synchronization server will continue to generate a drive frame with frame number 4 at time t5. The synchronization server issues a playback command containing frame number 4 at time t5. Each test terminal responds to this playback command and plays back the frame recording data corresponding to frame number 4 in the local recording file, thereby forcibly aligning the playback frame rates of each test terminal and ensuring the consistency of the players' states during playback. Compared to recording and replaying locally on each test terminal according to the system timing cycle (tick) of the game engine, the embodiments of this application force the replay frame rate of each test terminal to be aligned based on the distribution of driver frames by the synchronization server. This can avoid the problem of inconsistent execution time and network fluctuations between multiple test terminals due to different network conditions, which often leads to deviations in the recording and replay of multiple test terminals. This improves the accuracy of test results for virtual scene tests involving multiple players.
[0147] In some exemplary embodiments, the method may further include:
[0148] If the synchronization server does not receive the second confirmation message from each of the test terminals within a preset time period after sending the current playback instruction, it sends a cancel playback instruction to the multiple test terminals.
[0149] Each of the test clients responds to the cancel playback command and cancels the playback of the virtual scene.
[0150] The preset duration is much longer than the time interval between adjacent driving frames. For example, the preset duration can be 30 seconds. This allows the synchronization server to cancel the playback of the virtual scene if it does not receive the second confirmation message from all test terminals for a long time, thus avoiding the waste of resources on the synchronization server.
[0151] The data processing method of this application embodiment is described below using any one of multiple test terminals as the execution subject. These multiple test terminals run a virtual scene of a target interactive application, and each test terminal corresponds to a master virtual object in the virtual scene, such as... Figure 7 As shown, the method may include:
[0152] S701, Obtain the current recording instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate. The current recording instruction is used to instruct the recording of data for the current driving frame.
[0153] S703, in response to the current recording instruction, the running process of the virtual scene is recorded based on the driving frame logical duration to obtain frame recording data corresponding to the current driving frame. The frame recording data represents the interactive operation events during the running process and the object state of virtual objects in the virtual scene.
[0154] S705, when recording for the current recording instruction ends, a first confirmation message is returned to the synchronization server, so that the synchronization server, upon confirming that it has received the first confirmation message from each of the test terminals, executes the step of sending the current recording instruction to multiple test terminals according to the preset drive frame rate.
[0155] The first confirmation message indicates that the data recording of the current driving frame has been completed.
[0156] S707, in response to the recording completion command for the virtual scene, generates a local recording file stored locally based on the frame recording data corresponding to each driving frame.
[0157] S709, in response to the current playback instruction sent by the synchronization server to the plurality of test terminals according to the preset driving frame rate, the virtual scene of the target interactive application is played back based on the frame recording data corresponding to the current playback instruction in the local recording file.
[0158] In some exemplary embodiments, the aforementioned step S709 may include:
[0159] Obtain the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset drive frame rate. The current playback instruction is used to instruct the data playback of the current drive frame.
[0160] In response to the current playback instruction, the frame recording data corresponding to the current driving frame in the local recording file is determined, and the frame recording data of the current driving frame is run on the target interactive application to play back the virtual scene;
[0161] When the playback of the current playback instruction ends, a second confirmation message is returned to the synchronization server, so that the synchronization server, upon confirming that it has received the second confirmation message from each of the test terminals, executes the step of sending the current playback instruction to the multiple test terminals according to the preset driving frame rate. The second confirmation message indicates that the data playback of the current driving frame has been completed.
[0162] Specifically, the detailed implementation of steps S701 to S709 can be found in the foregoing description of this application. Figures 2 to 6 The relevant descriptions of the first test terminal in the method embodiment shown will not be repeated here.
[0163] The data processing method of this application embodiment will be described below using a synchronization server as the execution subject, such as... Figure 8 As shown, the method may include:
[0164] S801, a current recording instruction is sent to multiple test terminals according to a preset driving frame rate. The current recording instruction is used to instruct the recording of data for the current driving frame. The multiple test terminals run a virtual scene of a target interactive application, and each test terminal corresponds to a master virtual object in the virtual scene.
[0165] S803, obtain a first confirmation message returned by any of the test terminals. The first confirmation message is returned by any of the test terminals to the synchronization server after recording the operation of the virtual scene based on the driving frame logical duration in response to the current recording instruction. Wherein, any of the test terminals obtains frame recording data corresponding to the current driving frame after recording for the current recording instruction ends. The frame recording data represents the interactive operation events during the operation and the object state of virtual objects in the virtual scene.
[0166] The first confirmation message indicates that the data recording of the current driving frame has been completed.
[0167] S805, upon confirming that the first confirmation message returned by each of the plurality of test terminals has been received, the step of sending the current recording instruction to the plurality of test terminals according to the preset driving frame rate is executed until the recording of the virtual scene is completed.
[0168] S807, a current playback instruction is sent to the plurality of test terminals according to the preset driving frame rate, so that any of the test terminals can play back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback instruction in the local recording file.
[0169] In some exemplary embodiments, step S807 may include the following when implemented:
[0170] The current playback instruction is sent to the plurality of test terminals according to the preset driving frame rate. The current playback instruction is used to instruct the data playback of the current driving frame.
[0171] Obtain a second confirmation message returned by any of the test terminals. The second confirmation message is obtained by any of the test terminals in response to the current playback instruction, determining the frame recording data corresponding to the current driving frame in the local recording file; running the frame recording data of the current driving frame on the target interactive application to play back the virtual scene, and returning it to the synchronization server when the playback ends; the second confirmation message indicates that the data playback of the current driving frame has been completed.
[0172] If the second confirmation message is received from each of the plurality of test terminals, the step of sending the current playback instruction to the plurality of test terminals according to the preset driving frame rate is executed until the playback of the virtual scene is completed.
[0173] Specifically, the detailed implementation of steps S801 to S807 can be found in the foregoing description of this application. Figures 2 to 6 The descriptions of the synchronization server in the illustrated method embodiment will not be repeated here.
[0174] Through the technical solution of this application embodiment, when the target interactive application is a game application, testers can complete the automated testing of the game without writing complex test scripts, and only need to record once to replay across multiple application versions. This ensures the accuracy of the operation and saves a lot of testing manpower. For complex game scenarios that require repeated fixed operations and multi-player cooperation, this technical solution uses a synchronization server to issue instructions based on driver frames to drive recording and playback. This forces the synchronization server to align the playback frame rates of all test terminals participating in the virtual scene test, ensuring the consistency of the state of all players in the game scene during playback and improving the accuracy of the test results for the game scene test.
[0175] Corresponding to the data processing methods on the test terminal side provided in the above embodiments, this application also provides a data processing device. This data processing device is configured on any one of a plurality of test terminals, which run a virtual scene of a target interactive application. Each test terminal corresponds to a master virtual object in the virtual scene. Please refer to... Figure 9 The diagram shown is a structural schematic of a data processing device provided in an embodiment of this application. Since this data processing device 900 corresponds to the data processing methods on the test terminal side provided in the above embodiments, the implementation methods of the aforementioned data processing methods on the test terminal side are also applicable to this data processing device 900, and will not be described in detail in this embodiment. Figure 9 As shown, the data processing device 900 may include:
[0176] The recording instruction acquisition module 910 is used to acquire the current recording instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate; the current recording instruction is used to instruct the recording of data for the current driving frame.
[0177] The data recording module 920 is used to respond to the current recording instruction and record the running process of the virtual scene based on the logical duration of the driving frame to obtain frame recording data corresponding to the current driving frame; the frame recording data represents the interactive operation events during the running process and the object state of the virtual objects in the virtual scene;
[0178] The first confirmation message return module 930 is used to return a first confirmation message to the synchronization server when the recording of the current recording instruction is completed, so that the synchronization server, upon determining that it has received the first confirmation message from each of the test terminals, performs the step of sending the current recording instruction to multiple test terminals according to the preset driving frame rate. The first confirmation message indicates that the data recording of the current driving frame has been completed.
[0179] The recording file storage module 940 is used to generate a local recording file stored locally based on the frame recording data corresponding to each driving frame in response to the recording completion command for the virtual scene.
[0180] The playback module 950, in response to the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset drive frame rate, plays back the virtual scene of the target interactive application based on the frame recording data in the local recording file corresponding to the current playback instruction.
[0181] In one exemplary embodiment, the playback module 950 includes:
[0182] The playback instruction acquisition module is used to acquire the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset drive frame rate; the current playback instruction is used to instruct the data playback of the current drive frame;
[0183] The frame data playback module is used to respond to the current playback command, determine the frame recording data in the local recording file corresponding to the current driving frame, and run the frame recording data of the current driving frame on the target interactive application to play back the virtual scene;
[0184] The second confirmation message return module is used to return a second confirmation message to the synchronization server when the playback of the current playback instruction ends, so that the synchronization server, upon confirming that it has received the second confirmation message from each of the test terminals, performs the step of sending the current playback instruction to the multiple test terminals according to the preset drive frame rate. The second confirmation message indicates that the data playback of the current drive frame has been completed.
[0185] In one exemplary embodiment, the frame data playback module includes:
[0186] The playback running status determination module is used to determine the playback running status of the virtual scene based on the frame recording data of the current driving frame.
[0187] The running status adjustment module is used to adjust the virtual scene to the playback running status when the current running status of the virtual scene does not match the playback running status.
[0188] The playback submodule is used to run the frame recording data of the current driving frame on the target interactive application to replay the virtual scene starting from the playback running state.
[0189] In one exemplary embodiment, the data recording module 920 is specifically used for:
[0190] During the operation of this virtual scene, the object state of the virtual objects in the virtual scene is recorded based on the logical duration of the driving frame to obtain object state data;
[0191] In response to receiving an interactive operation event, the interactive operation event is recorded and the operation data is obtained;
[0192] The recorded data for this frame includes the object's state data and the operation data.
[0193] Corresponding to the data processing methods on the synchronization server side provided in the above embodiments, this application also provides a data processing apparatus configured on the synchronization server. Please refer to... Figure 10 The diagram shown is a structural schematic of another data processing device provided in this application embodiment. Since this data processing device 1000 corresponds to the data processing method on the synchronization server side provided in the above embodiments, the implementation methods of the aforementioned data processing method on the synchronization server side are also applicable to this data processing device 1000, and will not be described in detail in this embodiment. Figure 10 As shown, the data processing device 1000 may include:
[0194] The recording instruction sending module 1010 is used to send a current recording instruction to multiple test terminals according to a preset driving frame rate. The current recording instruction is used to instruct the recording of data for the current driving frame. The multiple test terminals run a virtual scene with a target interactive application, and each test terminal corresponds to a master virtual object in the virtual scene.
[0195] The first confirmation message acquisition module 1020 is used to acquire a first confirmation message returned by any of the test terminals. The first confirmation message is returned by any of the test terminals to the synchronization server after recording the operation of the virtual scene based on the logical duration of the driving frame in response to the current recording instruction. Specifically, each test terminal obtains frame recording data corresponding to the current driving frame upon completion of recording for the current recording instruction. This frame recording data represents the interactive operation events during the operation and the object state of virtual objects in the virtual scene. The first confirmation message indicates that the data recording of the current driving frame has been completed.
[0196] The first confirmation message determination module 1030 is used to execute the step of sending the current recording instruction to the multiple test terminals according to the preset driving frame rate when it is determined that the first confirmation message returned by each of the multiple test terminals has been received, until the recording of the virtual scene is completed.
[0197] The playback instruction sending module 1040 is used to send the current playback instruction to the plurality of test terminals according to the preset driving frame rate, so that any of the test terminals can play back the virtual scene of the target interactive application based on the frame recording data in the local recording file corresponding to the current playback instruction.
[0198] In one exemplary embodiment, the device 1000 further includes:
[0199] The cancellation recording module is used to send a cancellation recording command to the multiple test terminals if no first confirmation message is received from each of the test terminals within a preset time period after sending the current recording command, so that the multiple test terminals respond to the cancellation recording command and cancel the recording of the virtual scene.
[0200] In one exemplary embodiment, the playback instruction sending module 1040 includes:
[0201] The sending module is used to send a current playback instruction to the multiple test terminals according to the preset driving frame rate. The current playback instruction is used to instruct the data playback of the current driving frame.
[0202] The second confirmation message acquisition module is used to acquire a second confirmation message returned by any of the test terminals. The second confirmation message is that any of the test terminals, in response to the current playback instruction, determines the frame recording data in the local recording file corresponding to the current driving frame; runs the frame recording data of the current driving frame on the target interactive application to play back the virtual scene, and returns it to the synchronization server when the playback ends; the second confirmation message indicates that the data playback of the current driving frame has been completed.
[0203] The second confirmation message determination module is used to execute the step of sending the current playback instruction to the multiple test terminals according to the preset drive frame rate when it is determined that the second confirmation message returned by each of the multiple test terminals has been received, until the playback of the virtual scene is completed.
[0204] In one exemplary embodiment, the device 1000 further includes:
[0205] The cancel playback module is used to send a cancel playback command to the multiple test terminals if no second confirmation message is received from each of the test terminals within a preset time after sending the current playback command, so that the multiple test terminals respond to the cancel playback command and cancel the playback of the virtual scene.
[0206] In one exemplary embodiment, the device 1000 further includes:
[0207] The recording request acquisition module is used to acquire a recording request from any of the test terminals, the recording request including the number of test terminals participating in the virtual scene recording; when the number of received recording requests matches the number of test terminals participating in the virtual scene recording, the step of sending the current recording instruction to multiple test terminals according to a preset driving frame rate is executed.
[0208] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0209] This application provides an electronic device, which includes a processor and a memory. The memory stores at least one instruction or at least one program, which is loaded and executed by the processor to implement any of the data processing methods provided in this application.
[0210] Memory can be used to store software programs and modules. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory. Memory can primarily include a program storage area and a data storage area. The program storage area can store the operating system, application programs required for the functions, etc.; the data storage area can store data created based on the use of the device, etc. Furthermore, memory can include high-speed random access memory, and can also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, memory can also include a memory controller to provide the processor with access to the memory.
[0211] The methods and embodiments provided in this application can be executed on a computer terminal, server, or similar computing device. Figure 11 This is a hardware structure block diagram of an electronic device that runs a data processing method, as provided in the embodiments of this application. Figure 11 As shown, the internal structure of this electronic device may include, but is not limited to, a processor, a network interface, and a memory. The processor, network interface, and memory within the electronic device can be connected via a bus or other means, as illustrated in the embodiments of this specification. Figure 11 Taking the example of a connection between China and Israel via a bus.
[0212] The processor (or CPU, Central Processing Unit) is the computing and control core of the computer device. The network interface may optionally include a standard wired interface or a wireless interface (such as Wi-Fi, mobile communication interface, etc.). Memory is the storage device in the computer device used to store programs and data. It is understood that the memory here can be a high-speed RAM storage device, or a non-volatile storage device, such as at least one disk storage device; optionally, it can also be at least one storage device located remotely from the aforementioned processor. The memory provides storage space, which stores the operating system of the electronic device, including but not limited to: Windows (an operating system), Linux (an operating system), Android (a mobile operating system), iOS (a mobile operating system), etc., which are not limited in this invention; and the storage space also stores one or more instructions suitable for being loaded and executed by the processor, which can be one or more computer programs (including program code). In the embodiments of this application, the processor loads and executes one or more instructions stored in the memory to implement any of the data processing methods provided in the above method embodiments.
[0213] Embodiments of this application also provide a computer-readable storage medium, which can be disposed in an electronic device to store at least one instruction or at least one program related to implementing a data processing method. The at least one instruction or the at least one program is loaded and executed by the processor to implement any of the data processing methods provided in the above-described method embodiments.
[0214] Embodiments of this application also provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform any of the data processing methods provided in the above-described method embodiments.
[0215] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0216] It should be noted that the order of the embodiments described above is merely for descriptive purposes and does not represent the superiority or inferiority of the embodiments. Furthermore, specific embodiments have been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims can be performed in a different order than that shown in the embodiments and still achieve the desired result. Additionally, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0217] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0218] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0219] The above description is only a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A data processing method, characterized in that, The method is applied to any one of a plurality of test terminals, wherein the plurality of test terminals run a virtual scene of a target interactive application, and each of the test terminals corresponds to a master virtual object in the virtual scene. The method includes: Obtain the current recording instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate; the current recording instruction is used to instruct the recording of data for the current driving frame. In response to the current recording instruction, the operation process of the virtual scene is recorded based on the logical duration of the driving frame to obtain frame recording data corresponding to the current driving frame; the frame recording data represents the interactive operation events during the operation process and the object state of virtual objects in the virtual scene; When the recording for the current recording instruction ends, a first confirmation message is returned to the synchronization server, so that the synchronization server, upon confirming that it has received the first confirmation message from each of the test terminals, executes the step of sending the current recording instruction to multiple test terminals according to the preset driving frame rate. The first confirmation message indicates that the data recording of the current driving frame has been completed. In response to the recording completion command for the virtual scene, a local recording file is generated based on the frame recording data corresponding to each driving frame and stored locally; In response to the current playback instruction sent by the synchronization server to the plurality of test terminals according to the preset driving frame rate, the virtual scene of the target interactive application is played back based on the frame recording data corresponding to the current playback instruction in the local recording file.
2. The method according to claim 1, characterized in that, The step of responding to the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset drive frame rate, and playing back the virtual scene of the target application based on the frame recording data corresponding to the current playback instruction in the local recording file, includes: Obtain the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset drive frame rate; the current playback instruction is used to instruct the data playback of the current drive frame; In response to the current playback instruction, the frame recording data corresponding to the current driving frame in the local recording file is determined, and the frame recording data of the current driving frame is run on the target interactive application to play back the virtual scene; When the playback of the current playback instruction ends, a second confirmation message is returned to the synchronization server, so that the synchronization server, upon confirming that it has received the second confirmation message from each of the test terminals, executes the step of sending the current playback instruction to the multiple test terminals according to the preset driving frame rate. The second confirmation message indicates that the data playback of the current driving frame has been completed.
3. The method according to claim 2, characterized in that, The step of recording frame data of the current driving frame on the target interactive application to perform current playback of the virtual scene includes: Based on the frame recording data of the current driving frame, determine the playback running status of the virtual scene; If the current running state of the virtual scene does not match the playback running state, adjust the virtual scene to the playback running state; The frame recording data of the current driving frame is run on the target interactive application to replay the virtual scene starting from the playback running state.
4. The method according to any one of claims 1 to 3, characterized in that, The recording of the virtual scene's operation based on the driving frame logical duration to obtain frame recording data corresponding to the current driving frame includes: During the operation of the virtual scene, the object state of the virtual objects in the virtual scene is recorded based on the logical duration of the driving frame to obtain object state data; In response to receiving an interactive operation event, the interactive operation event is recorded to obtain operation data; The frame recording data includes the object state data and the operation data.
5. A data processing method, characterized in that, Applied to a synchronization server, the method includes: The current recording instruction is sent to multiple test terminals according to a preset driving frame rate. The current recording instruction is used to instruct the recording of data for the current driving frame. The multiple test terminals run a virtual scene with a target interactive application. Each test terminal has a master virtual object in the virtual scene. A first confirmation message is obtained from any of the test terminals. This first confirmation message is returned by any of the test terminals in response to the current recording instruction, after recording the operation of the virtual scene based on the logical duration of the driving frame, and upon completion of the recording, to the synchronization server. Specifically, each test terminal obtains frame recording data corresponding to the current driving frame upon completion of recording for the current recording instruction. This frame recording data represents the interactive operation events during the operation and the object states of virtual objects in the virtual scene. The first confirmation message indicates that the data recording of the current driving frame has been completed. If it is confirmed that the first confirmation message has been received from each of the multiple test terminals, the step of sending the current recording instruction to the multiple test terminals according to the preset driving frame rate is executed until the recording of the virtual scene is completed; According to the preset driving frame rate, a current playback instruction is sent to the plurality of test terminals, so that any of the test terminals can play back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback instruction in the local recording file.
6. The method according to claim 5, characterized in that, The method further includes: If no first confirmation message is received from any of the test terminals within a preset time period after the current recording instruction is sent, a cancel recording instruction is sent to the plurality of test terminals so that the plurality of test terminals respond to the cancel recording instruction and cancel the recording of the virtual scene.
7. The method according to claim 5, characterized in that, The step of sending a current playback command to the plurality of test terminals according to the preset driving frame rate, so that any of the test terminals can play back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback command in the local recording file, includes: The current playback instruction is sent to the plurality of test terminals according to the preset driving frame rate. The current playback instruction is used to instruct the data playback of the current driving frame. Obtain a second confirmation message returned by any of the test terminals. The second confirmation message is obtained by any of the test terminals in response to the current playback instruction, determining the frame recording data corresponding to the current driving frame in the local recording file; running the frame recording data of the current driving frame on the target interactive application to play back the virtual scene, and returning it to the synchronization server when the playback ends; the second confirmation message indicates that the data playback of the current driving frame has been completed. If the second confirmation message is received from each of the plurality of test terminals, the step of sending the current playback instruction to the plurality of test terminals according to the preset driving frame rate is executed until the playback of the virtual scene is completed.
8. The method according to claim 7, characterized in that, The method further includes: If no second confirmation message is received from each of the test terminals within a preset time period after the current playback instruction is sent, a cancel playback instruction is sent to the plurality of test terminals so that the plurality of test terminals respond to the cancel playback instruction and cancel the playback of the virtual scene.
9. The method according to claim 5, characterized in that, Before sending the current recording command to multiple test terminals according to the preset driving frame rate, the method further includes: Obtain a recording request from any of the test terminals, the recording request including the number of test terminals participating in the virtual scene recording; When the number of received recording requests matches the number of test terminals participating in the virtual scene recording, the step of sending the current recording instruction to multiple test terminals according to the preset driving frame rate is executed.
10. A data processing apparatus, characterized in that, The device comprises: a test terminal configured among multiple test terminals, wherein the multiple test terminals run a virtual scene of a target interactive application, and each of the test terminals corresponds to a master virtual object in the virtual scene; the device includes: The recording instruction acquisition module is used to acquire the current recording instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate; the current recording instruction is used to instruct the recording of data for the current driving frame. The data recording module is used to record the running process of the virtual scene based on the driving frame logical duration in response to the current recording instruction, so as to obtain frame recording data corresponding to the current driving frame; the frame recording data represents the interactive operation events during the running process and the object state of virtual objects in the virtual scene; The first confirmation message return module is used to return a first confirmation message to the synchronization server when the recording of the current recording instruction is completed, so that the synchronization server, upon determining that it has received the first confirmation message from each of the test terminals, executes the step of sending the current recording instruction to multiple test terminals according to the preset driving frame rate. The first confirmation message indicates that the data recording of the current driving frame has been completed. The recording file storage module is used to generate a local recording file stored locally based on the frame recording data corresponding to each driving frame in response to the recording completion command for the virtual scene. The playback module, in response to the current playback instruction sent by the synchronization server to the multiple test terminals according to the preset driving frame rate, plays back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback instruction in the local recording file.
11. A data processing apparatus, characterized in that, Configured on a synchronization server, the device includes: The recording instruction sending module is used to send a current recording instruction to multiple test terminals according to a preset driving frame rate. The current recording instruction is used to instruct the recording of data for the current driving frame. The multiple test terminals run a virtual scene of a target interactive application, and each test terminal corresponds to a master virtual object in the virtual scene. The first confirmation message acquisition module is used to acquire a first confirmation message returned by any of the test terminals. The first confirmation message is returned by any of the test terminals to the synchronization server at the end of the recording process of the virtual scene based on the logical duration of the driving frame in response to the current recording instruction. Specifically, each test terminal obtains frame recording data corresponding to the current driving frame at the end of the recording for the current recording instruction. The frame recording data represents the interactive operation events during the operation process and the object state of virtual objects in the virtual scene. The first confirmation message indicates that the data recording of the current driving frame has been completed. The first confirmation message determination module is used to execute the step of sending the current recording instruction to the multiple test terminals according to the preset driving frame rate when it is determined that the first confirmation message returned by each of the multiple test terminals has been received, until the recording of the virtual scene is completed. The playback instruction sending module is used to send a current playback instruction to the plurality of test terminals according to the preset driving frame rate, so that any of the test terminals can play back the virtual scene of the target interactive application based on the frame recording data corresponding to the current playback instruction in the local recording file.
12. An electronic device, characterized in that, It includes a processor and a memory, wherein the memory stores at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the data processing method as described in any one of claims 1 to 9.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one instruction or at least one program, which is loaded and executed by a processor to implement the data processing method as described in any one of claims 1 to 9.
14. A computer program, characterized in that, When the computer program is executed by the processor, it implements the data processing method according to any one of claims 1 to 9.