A data checking method, system, storage medium and server

CN117093237BActive Publication Date: 2026-09-22SHENZHEN TENCENT INFORMATION TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210516940.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-12
Publication Date
2026-09-22
Estimated Expiration
2042-05-12

AI Technical Summary

Technical Problem

而在游戏开发过程中,有些的各种数据并不是单一存在的,某一次提交修改了部分文件,极有可能导致游戏的其它模块出现致命的问题,从个人提交者,尤其是没有代码权限的美术和策划人员,往往无法确定自己的修改提交是否能保证整个项目的数据完整性和正确性

Benefits of technology

[0016]本发明实施例另一方面还提供一种服务器,包括处理器和存储器;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117093237B_ABST
    Figure CN117093237B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a data checking method and system, a storage medium and a server, and is applied to the technical field of communication. When a data checking system receives a data checking request of an application program, the data checking system obtains update information of the application program according to update version information in the data checking request in a preset data checking environment, generates an editor running in the data checking environment based on the update information, and then runs the editor to check data of the application program and obtain a data checking result. In this process, the data checking system automatically generates the editor corresponding to the current update information in real time according to the data checking request to check the data of the application program, so that the automation and real-time performance of data checking are realized, and the data checking environment in which the editor runs in the embodiment can be preset to a cloud platform, so that data checking in the cloud platform is realized, and the data checking does not need to be deployed on the terminal of each development user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of information processing technology, and in particular to a data inspection method, system, storage medium, and server. Background Technology

[0002] In the development of large-scale, high-quality online games, there are massive amounts of art assets and design configuration tables. To ensure the proper performance and quality of the final game client, different formats and types of art assets require different specifications, and configuration tables are subject to numerous related restrictions. Furthermore, during game development, various data are not isolated entities. A single commit modifying one file could potentially cause fatal problems in other modules of the game. Individual submitters, especially artists and designers without coding privileges, often cannot guarantee that their modifications will ensure the integrity and correctness of the entire project's data.

[0003] Regarding the issue of data correctness verification during game development, the current common practice is to use custom logic checking functions to check the correctness of modified data. However, in the actual heavy development process, there are often omissions. If a problem occurs, it can only be discovered after a test version is made, and then the problem needs to be relocated and repaired, which is time-consuming and labor-intensive. There is also the possibility that the defect will be released to the live network, affecting the experience of external players and the game's reputation. Summary of the Invention

[0004] This invention provides a data inspection method, system, storage medium, and server, which enables automated inspection of data in updated applications.

[0005] One embodiment of the present invention provides a data inspection method, including:

[0006] Receive a data check request from an application, the data check request being triggered after the application has been updated, the data check request including the updated version information of the application;

[0007] In a pre-defined data inspection environment, update information for the corresponding version of the application is obtained based on the update version information;

[0008] An editor is generated based on the updated information and runs in the data inspection environment. The editor is used to check the correctness of the data in the corresponding version of the application.

[0009] Run the editor to inspect the data of the corresponding version of the application and obtain the data inspection results.

[0010] Another aspect of this invention provides a data inspection system, comprising:

[0011] A request receiving unit is configured to receive a data inspection request from an application, the data inspection request being triggered after the application is updated, and the data inspection request including the updated version information of the application.

[0012] The update information unit is used to obtain the update information of the corresponding version of the application based on the update version information in a preset data inspection environment.

[0013] An editor unit is used to generate an editor that runs in the data inspection environment based on the update information. The editor is used to check the correctness of the data in the corresponding version of the application.

[0014] The data inspection unit is used to run the editor to inspect the data of the corresponding version of the application and obtain the data inspection results.

[0015] Another aspect of the present invention provides a computer-readable storage medium storing a plurality of computer programs adapted to be loaded by a processor and executed as described in one aspect of the present invention.

[0016] Another embodiment of the present invention provides a server, including a processor and a memory;

[0017] The memory is used to store multiple computer programs, which are loaded and executed by a processor as described in one aspect of the data inspection method of the present invention; the processor is used to implement each of the multiple computer programs.

[0018] As can be seen, in the method of this embodiment, when the data inspection system receives a data inspection request from an application, it obtains the application's update information based on the update version information in the data inspection request within a preset data inspection environment. Based on this update information, it generates an editor that runs within the data inspection environment, and then runs the editor to inspect the application's data and obtain the data inspection results. In this process, the data inspection system automatically generates an editor corresponding to the current update information in real time according to the data inspection request to inspect the application's data, achieving automation and real-time performance of the data inspection. Furthermore, in this embodiment, the data inspection environment in which the editor runs can be pre-installed on a cloud platform, thus enabling data inspection on the cloud platform without needing to be deployed on the individual terminals of the development users. Attached Figure Description

[0019] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is a schematic diagram illustrating the scenario to which the data inspection method provided in this embodiment of the invention is applicable;

[0021] Figure 2 This is a flowchart of a data inspection method provided in one embodiment of the present invention;

[0022] Figure 3 This is a flowchart of a data inspection method provided in one application embodiment of the present invention;

[0023] Figure 4a This is a schematic diagram of an alarm message in one application embodiment of the present invention;

[0024] Figure 4b This is a schematic diagram of another alarm message in one application embodiment of the present invention;

[0025] Figure 5 This is the result information of the data inspection system displaying the processing of multiple data inspection requests in one application embodiment of the present invention;

[0026] Figure 6 This is a schematic diagram of a distributed system to which the data inspection method of this invention is applied in another application embodiment of the invention;

[0027] Figure 7 This is a schematic diagram of the block structure in another application embodiment of the present invention;

[0028] Figure 8 This is a schematic diagram of the logical structure of a data inspection system provided in an embodiment of the present invention;

[0029] Figure 9 This is a schematic diagram of the logical structure of a server provided in an embodiment of the present invention. Detailed Implementation

[0030] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0031] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this invention 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 embodiments of the invention described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus 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 apparatus.

[0032] This invention provides a data inspection method, primarily used during the development of any application, to check the correctness of the updated application's data after an update. Specifically, the method in this invention is applied to applications such as... Figure 1 The scenario shown includes a user terminal 10, a data inspection system 11, and an application system 12, wherein:

[0033] User terminal 10 is mainly the terminal used by users when developing applications. It is used to obtain the updated version information of the application and the updated user information after the application is updated, and generate a data inspection request based on the obtained information. The data inspection request includes information such as the updated version information of the application, and then sends the data inspection request to the data inspection system 11.

[0034] When a user updates the application through user terminal 10, a new version of the application is obtained. This version of the application includes all the data obtained after updating the original application data. At the same time, corresponding update version information can be generated. This update version information is used to uniquely identify the user's update to the application. User terminal 10 can associate the update version information with the user's update information to the application (such as modification information of multiple data such as code, resources, and documents). In this way, the update information of the application can be found through the update version information, and the data of the corresponding version of the application can also be found through the update version information.

[0035] The data inspection system 11 is used to receive a data inspection request sent by the user terminal 10, obtain the update information of the corresponding version of the application according to the data inspection request, and generate an editor based on the update information to check the correctness of the data of the corresponding version of the application.

[0036] It should be noted that the data detection system 11 can be deployed independently of the aforementioned user terminal 10, for example, deployed in a cloud platform, or built into the user terminal 10.

[0037] Application system 12 is mainly the system corresponding to any application, such as a game application system. All data of the application can be stored in application system 12, including data of various versions of the application formed after the user updates the application through user terminal 10, and may also include application update information, etc.

[0038] It should be noted that the above-mentioned data inspection request is initiated by the user terminal 10. In other embodiments, the application system 12 can actively initiate a data inspection request to the data inspection system. Specifically, when the user updates the application through the user terminal 10 and submits the updated data to the application system 12, the application system 12 can initiate a data inspection request for this submission. The specific content is the same as the content of the data inspection request initiated by the user terminal 10, and will not be repeated here.

[0039] Specifically, such as Figure 2 As shown, the data inspection system 11 in this embodiment can perform data inspection using the following steps:

[0040] Step 101: Receive a data check request from the application. The data check request is triggered after the application is updated and includes the application's updated version information.

[0041] It is understood that the data inspection request initiated by the user terminal 10 to the data inspection system 11 is mainly used to request the data inspection system 11 to inspect the data of a certain updated application. After receiving the data inspection request, the data inspection system 11 can initiate the data inspection method of this embodiment.

[0042] The data inspection request may include application update information, as well as updated user information for those who updated the application (such as updated user IDs and contact address information), and user information for those responsible for the development of the application.

[0043] Step 102: In the preset data inspection environment, obtain the update information of the corresponding version of the application based on the update version information.

[0044] The data inspection environment here refers to the operating system that executes each step of the data inspection process in this embodiment, such as a Linux system. The image data of the data inspection environment can be customized and started in advance, and the underlying container 110 can be called in this data inspection environment.

[0045] In this embodiment, one or more underlying containers 110 can be invoked simultaneously, and each underlying container 110 can check the data according to certain rules, and the underlying containers 110 do not affect each other. Thus, when the data checking system receives data checking requests frequently, the required computing resources will increase accordingly, resulting in a large overhead on the total Central Processing Unit (CPU) of the data checking system. In this embodiment, the resources of the underlying containers 110 will be dynamically increased based on CPU and memory performance metrics by invoking the Tencent Kubernetes Engine (TKE). Conversely, when the load (i.e., the underlying containers) is relatively idle, the underlying containers 110 can be automatically scaled down to release idle resources, reducing the overhead of the data checking system.

[0046] The application update information may include modifications made by the user to the application through the user terminal 10 in various aspects, such as code, resources, and documentation, which can be found through the update version information.

[0047] Furthermore, if the update information includes second update information that does not involve the terminal performance of the aforementioned application, the second update information in the update information is filtered out, and the following steps 103 and 104 are performed on the filtered update information, namely, the steps of generating the editor and running the editor.

[0048] Among them, the update information related to the performance of the application on the corresponding terminal (referred to as the first update information) refers to the update information related to the functions of the application on the corresponding terminal or the information displayed to the user. For example, it may be a modification to an image or title displayed on the game terminal, or a modification to the style and triggering method of an operation window provided to the user by the game terminal. Since it involves the performance of the application on the corresponding terminal, it is necessary to check these updated data.

[0049] For other update information (referred to as second update information) that does not involve the functions or display information of the corresponding terminal of the application, such as updates to planning documents and original artwork, it will not cause running errors of the corresponding terminal of the application. Therefore, it is not necessary to check the data involved in the second update information. Instead, the second update information needs to be filtered out from the update information obtained above. Then, steps 103 and 104 are performed on the filtered update information to reduce unnecessary waste of machine computing power in subsequent processes.

[0050] Step 103: Generate an editor that runs in the data inspection environment based on the update information. The editor is used to check the correctness of the data in the corresponding version of the application.

[0051] The editor here can implement data inspection functionality, specifically an executable file that implements this functionality. This can be achieved by modifying an existing editor to obtain the data inspection editor in this embodiment. Specifically, the data inspection rules corresponding to the filtered update information can be obtained first, then the inspection code file that executes these rules in the aforementioned data inspection environment can be obtained, and this inspection code file can be stored as an executable file. In other words, the inspection code file can be compiled into an executable file, which is the aforementioned editor with data inspection functionality.

[0052] The data inspection rules corresponding to the filtered update information can include inspection rules for multiple subcategories of data (such as maps, tasks, items, skins, or art resources such as textures and models) in the data of the corresponding version of the application. The inspection rules for each subcategory of data can include inspection of multiple attributes, such as naming conventions, vertex face count, and Levels of Detail (LOD) configuration.

[0053] In practical applications, if the data inspection environment is the first operating system environment, such as the Linux operating system environment, when the data inspection system obtains the inspection code file that executes the data inspection rules in the data inspection environment, it can utilize the second editing engine in the existing second operating system environment (such as the Windows operating system environment), first convert the second editing engine into the first editing engine that runs in the first operating system environment, and then add the above data inspection rules to the first editing engine to obtain the inspection code file.

[0054] When converting a second editing engine to a first editing engine, if the second editing engine is a graphical editing engine, the rendering modules involved in the second editing engine need to be removed first. Furthermore, several error codes that cause the second editing engine to malfunction when run in the first operating system environment need to be modified. The resulting modified code is the first editing engine. In specific applications, these error codes may include, but are not limited to, the following: incorrect string constant definition, "#pragma once" flags in the source code file, undefined inline functions, and link errors caused by circular references in game modules.

[0055] Furthermore, once the editor is generated, step 104 can be executed directly. Alternatively, the editor can be tested in a data inspection environment first, and errors during the trial run can be corrected. Then, step 104 can be executed on the corrected editor to ensure the data inspection of the application in step 104. Specifically, errors during the editor trial run may include, but are not limited to, missing third-party dependency libraries and missing user interface (UI) components, such as WebBrowerWidget.so, LibPGOS.so, and other third-party library files. When correcting these errors, the missing objects can be obtained first, and then added to the obtained inspection code file. The inspection code file can then be stored as an executable file, specifically, as cross-platform macros and empty stub functions.

[0056] The data for the corresponding version of the application here can include all data obtained after updating the original application data. Checking the correctness of the application data mainly involves verifying whether the updated original data can run normally on the corresponding terminal and whether it can guarantee the basic performance of the terminal when running the application. For example, texture sizes cannot exceed limits, otherwise it will cause screen lag. If it runs normally and guarantees the basic performance of the terminal, then the application data is correct. Many other checks can also be performed; the specific form of the checks is not limited here.

[0057] Step 104: Run the editor to check the data of the corresponding version of the application and obtain the data check results.

[0058] Specifically, one or more underlying containers 110 can be invoked to run an editor to inspect the data of the corresponding version of the application. When the editor is run through multiple underlying containers 110, each container can inspect different data. For example, if there are n data items to inspect, one container 110 can run the editor to inspect k data items out of the n items, while another container 110 can run the editor to inspect nk data items out of the n items. This allows for parallel inspection of the application's data, saving inspection time and improving inspection efficiency.

[0059] When calling one or more underlying containers 110, the called underlying container 110 can be mounted under a hard disk 111 with historical updates. This way, for data verification, only incremental updates are needed based on the historical data already stored on the hard disk 111. The updated hard disk 111 then stores the data of the corresponding version of the application, without needing to fetch the entire application data, saving time and resources for data verification. One or more underlying containers 110 can be mounted under a single hard disk 111.

[0060] Furthermore, if the aforementioned data check request also includes update user information for updating the application, then upon obtaining the data check results, a user notification can be sent to the user corresponding to the update user information based on the data check results. For example, the data check results can be sent to the relevant user via email, or an alarm message can be pushed to the relevant user through other communication tools. If the data check results include information about an application update error, the alarm message can include information such as the duration of the error and the data check results.

[0061] As can be seen, in the method of this embodiment, when the data inspection system receives a data inspection request from an application, it obtains the application's update information based on the update version information in the data inspection request within a preset data inspection environment. Based on this update information, it generates an editor that runs within the data inspection environment, and then runs the editor to inspect the application's data and obtain the data inspection results. In this process, the data inspection system automatically generates an editor corresponding to the current update information in real time according to the data inspection request to inspect the application's data, achieving automation and real-time performance of the data inspection. Furthermore, in this embodiment, the data inspection environment in which the editor runs can be pre-installed on a cloud platform, thus enabling data inspection on the cloud platform without needing to be deployed on the individual terminals of the development users.

[0062] The following is a specific application example to illustrate the data inspection method of the present invention, which can be mainly applied to the above. Figure 1 In the scenario shown, after updating the game application, its data is checked. The user terminal specifically refers to the terminal used by the user to develop the game application, while the data checking system is primarily deployed on a cloud platform, and the application system is specifically the game application system. In this embodiment, the game application system can initiate a data checking request to the cloud platform. Specifically:

[0063] In a game application system, when a user updates the game application through a user terminal and submits the updated data to the game application system, the game application system can obtain information such as the user who submitted the update and the update version information, and generate a WebHook Uniform Resource Locator (URL) request, i.e., a data inspection request, which is then sent to the Blue Shield pipeline of the data inspection system.

[0064] The data inspection system can include the Blue Shield pipeline and a notification module. The Blue Shield pipeline provides visualization, one-click deployment services, and seamless integration with continuous integration, and supports parallel deployment. It is mainly used to obtain data inspection results based on data inspection requests. The notification module can support multiple real-time delivery modules such as email, enterprise instant messaging, personal reminders, enterprise instant messaging groups, and robot alerts. It is mainly used to prompt users when the data inspection results include information about update errors in the game application.

[0065] Specifically, such as Figure 3 As shown, the data inspection method of this embodiment of the invention may include the following steps:

[0066] Step 201: Before initially checking the data of the game application, the cloud platform will initialize the data inspection environment.

[0067] Specifically, the cloud platform launches a customized data inspection environment image. In this embodiment, this data inspection environment is a Linux operating system (i.e., the first operating system environment mentioned above). The entire process can achieve rapid sandbox startup, taking only 3 seconds. After completing the process of this embodiment, the image data in memory can be destroyed and resources released, without any actual machine maintenance burden, thus improving the overall cluster resource utilization. The cloud platform also pre-installs several command-line tools necessary for subsequent steps, such as Python 3.6, Perforce tools, Python third-party libraries, and HTML reporting modules. The image data may include the Linux operating system and environment libraries.

[0068] After the cloud platform starts the image data, a data inspection environment is pre-configured, which has the function of calling the underlying containers. In this embodiment, the underlying containers can be managed in a containerized manner, mainly through the TKE engine based on Kubernetes. It can easily schedule computing resources and achieve dynamic scaling up and down based on load (i.e., underlying containers). When the cloud platform receives data inspection requests frequently, the required computing resources will also increase, and the total CPU overhead will be large. The TKE engine will dynamically increase the number of underlying containers started based on CPU and memory performance metrics, and complete the scaling up completely transparently to the business. When the machine load is relatively idle at night, it can automatically scale down, releasing the resources of some idle underlying containers and reducing the cloud platform's overhead.

[0069] Specifically, the Linux operating system mentioned above is an open-source UNIX-like operating system, mostly used in the server field; Kubernetes is an open-source system for automatically deploying, scaling and managing containerized applications. It combines the containers that make up the application into logical units to facilitate management and service discovery, and can use a centralized version management tool such as Perforce to manage the underlying containers.

[0070] Step 202: The cloud platform updates the set of tool scripts that perform the following steps.

[0071] Specifically, the cloud platform can pull processing scripts for subsequent steps from the git repository, adhering to the best practice principle of "Pipiline as Code", coded all the specific implementation steps of the pipeline, and incorporated them into the version management tool for easy iteration and updates.

[0072] It should be noted that steps 201 and 202 above are executed when the cloud platform initially performs data checks. Subsequently, when performing data checks on various data check requests initiated by user terminals, steps 201 and 202 above do not need to be executed, and each data check request can be processed directly.

[0073] Step 203: After a user updates the game application via their user terminal and submits the update data to the game application system, the game application system will initiate a data check request based on the user terminal's submission and send the request to the cloud platform. The data check request includes the game application's update version information, such as the ChangeList (CL) number, and may also include the update user's information. Upon receiving the data check request, the cloud platform will retrieve the corresponding application update information based on the included update version information.

[0074] Here, CL refers to a single modification record submitted by a user through a user terminal, which includes multiple modifications such as code, resources, and documents.

[0075] In step 204, the cloud platform will determine whether the application update information obtained above includes second update information that does not involve the performance of the terminal corresponding to the game application. If it does, the second update information in the update information needs to be filtered, and the following step 205 will be executed for the filtered update information. If it does not, the following step 205 will be executed directly for the update information obtained above. If all the update information obtained above belongs to the second update information, the process will end.

[0076] The second update information here mainly consists of non-critical change files, while critical change files can include pure code files under the main project path of the game application and resource files of Unreal Engine. Therefore, the second update information includes file changes such as design documents and concept art that are unrelated to the final game application's corresponding terminal (i.e., the game client). This eliminates the need to check the game application data related to the second update information, reducing unnecessary waste of machine computing power in subsequent processes.

[0077] Step 205: The cloud platform generates an editor that runs in the aforementioned data inspection environment based on the filtered or unfiltered update information.

[0078] Specifically, the cloud platform can first convert the existing graphical editing engine 2 in the Windows operating system into the editing engine 1 that runs in the Linux operating system. In this process, the cloud platform can remove the rendering module involved in the editing engine 2, solve the cross-platform compatibility issues of many plugins and custom modules, and modify many erroneous codes that apply the editing engine 2 to the Linux operating system. The modified code is the editing engine 1.

[0079] Then, the cloud platform obtains the data inspection rules corresponding to the relevant update information, adds the data inspection file in editing engine 1, and obtains the inspection code file. The inspection code file is then stored as an executable file, which is the generated editor that runs on the Linux operating system.

[0080] Among these issues, modifying the error code when applying the editing engine 2 to run on the Linux operating system can include various types of compilation and linking errors, such as string constant definition errors, "#pragma once" marks in source code files, undefined inline functions, and linking errors caused by circular references in game modules. This requires consulting the official documentation of each editing engine and the Clang compiler documentation, and making targeted modifications based on the Linux operating system environment.

[0081] Furthermore, when storing the checked code file as an executable, it can be directly compiled into an executable file for the Linux operating system. Since the build description file and the Unreal Head Tool preprocessing tool for executables in Linux are written in C#, a C# compilation and runtime environment is required when compiling the checked code file. Specifically, a suitable compilation tool can be chosen, such as the Clang V9.0 toolset. Clang's compilation checks are more stringent than those in VC++, allowing for earlier detection of static coding errors and improving code quality.

[0082] Furthermore, after generating the editor, it can be tested on a Linux operating system to correct errors during the trial run. Common errors during this process include missing third-party dependencies and UI-related components, such as WebBrowerWidget.so and LibPGOS.so. To correct these errors, the missing objects can be retrieved and added to the aforementioned check code file. The check code file can then be compiled. Specifically, the retrieved objects can be added as cross-platform macros and empty stub functions.

[0083] It should be noted that the editor corrections here are performed before the editor is actually run. In other specific embodiments, during the actual editor run, if an error is found in the compiler, it is necessary to go back and correct the aforementioned check code file before compiling the corrected check code file to form the editor. In this way, the check code file can be corrected multiple times during editor operation. These multiple corrections may cause errors in the final compiled editor. Therefore, in one specific embodiment, it is also necessary to check the operation of the formed editor after each correction of the check code file. If an error occurs during editor operation, the specific correction causing the error can be located in real time, thereby resolving the error and avoiding blocking subsequent data checking tasks.

[0084] Step 206: The cloud platform calls one or more underlying containers under the Linux operating system (i.e., the data inspection environment).

[0085] It's important to note that each underlying container called can be mounted on its corresponding hard drive without interfering with each other. Specifically, the called underlying container can be mounted on a hard drive with historical updates. This way, to perform data checks, only incremental updates are needed based on the historical data already stored on the hard drive. The updated hard drive will then store the data of the corresponding version of the application, without needing to fetch the entire application data. This saves time and resources for data checking, which is essential and efficient for large-scale game development projects, which often involve development data resources in the terabyte (=1024GB) range.

[0086] Step 207: Run the editor generated in step 205 above through one or more underlying containers to check the data of the corresponding version of the game application and obtain the data check results.

[0087] Specifically, the system can check multiple subcategories of data in the game application (such as maps, quests, items, skins, or art resources such as textures and models) according to the corresponding data inspection rules, such as naming conventions, vertex count, and LOD configuration.

[0088] Furthermore, in this embodiment, data inspection can be performed in parallel through multiple underlying containers, making full use of the multi-core computing power of the cloud platform.

[0089] Step 208: After summarizing the data inspection results obtained in the previous step, process the data inspection results, such as performing text parsing. Regular expressions can be used to speed up filtering, filtering out strings such as whitelisted strings, blank lines, and duplicate lines, and then splitting them into different error levels.

[0090] Step 209: Determine whether the data check results include critical errors in the above-mentioned update to the game application. If not, the current update to the game application passes the check and the process ends. If it does, the file paths of the critical errors in the data check results need to be extracted, and the following step 210 is executed.

[0091] Step 210: Based on the file path of the key error extracted in the above steps, extract the modification history of this file from the code version management tool, and designate the last person who made the modification as the person responsible for the file, i.e., the update user information of the game application.

[0092] Furthermore, in addition to the current submitter who updates the game application and the last modifier of the file, information about other relevant users can also be identified. For example, information about other relevant users can be found entirely independently through a chatbot for the current submitter.

[0093] Step 211: Based on the updated user information determined in the above steps, provide user prompts. For example, the data check output can be output as an HTML page and sent to the determined updated user via email. Alternatively, an alarm message can be pushed through the WebHook interface of the group robot in the enterprise instant messaging system. The alarm message contains the duration of the error, the updated user, and the URL link of the data check result page, so that the user can directly access the complete data check result by clicking the link.

[0094] For example, when user B initiates a data check request after updating Trunk_CheckGameData in a game application, and the cloud platform performs a data check on this request, if the data check result includes a critical error, then user B who made the update and the related responsible user A are identified, and the process is then carried out through methods such as... Figure 4a The alarm message shown indicates that the user needs to fix the update. Thus, when user B fixes Trunk_CheckGameData and initiates another data check request, the cloud platform performs a data check on this request. If the data check result does not include critical errors, then user B is identified as the update target, and the update is implemented as follows: Figure 4b The alarm message shown is used to notify the user that the problem has been successfully fixed.

[0095] It should be noted that steps 203 to 211 above refer to data checks performed on a single data check request. The cloud platform can receive multiple data check requests and place them in a queue for processing sequentially or in parallel. Furthermore, users can view the results of the cloud platform's processing of each data check request through the platform's user interface, as shown in the example below. Figure 5 As shown, the following dimensions of information can be displayed: update version information included in the data inspection request, inspection results (whether the update was incorrect), update user, inspection start time, inspection end time, and inspected data.

[0096] As can be seen, the data inspection method of this invention significantly reduces the possibility of versioning errors caused by human configuration mistakes, and provides a unified standard for various data resources. Specifically, the method of this embodiment can achieve the following technical effects:

[0097] (1) Cloud platformization: By deploying a data inspection environment on the cloud platform, the problem of slow manual startup on the traditional Windows platform is solved. Moreover, the machine can be dynamically expanded and contracted, without wasting resources, and the problem can be located most efficiently. At the same time, there is no need for maintenance personnel to maintain the traditional building machine, thus freeing up manpower.

[0098] (2) Automation: During the development of the game application, after each update submission, a data check request will be automatically triggered to the cloud platform. The cloud platform will receive a large number of data check requests and put these data check requests into a queue for execution. In this way, when an error is found in a data check request in the queue, the specific update user can be accurately located and prompted immediately.

[0099] (3) Intelligent: For data inspection results, intelligent algorithms will be used to analyze and combine the file submission history and stack relationship to determine the update user information of the error update. In addition, the relevant responsible users of the error update will be added, and the error will be notified to the right place in time through certain means to urge the immediate repair, making the problem-solving more focused and efficient.

[0100] (4) Since the cloud platform performs a full data check of the game application every time a data check request is initiated, it can eliminate the possibility of other errors caused by the original single data submission, thus ensuring the quality of the delivered game product.

[0101] The following uses another specific application example to illustrate the data inspection method in this invention. The data inspection system in this embodiment is mainly a distributed system 100. The distributed system may include a client 300 and multiple nodes 200 (any form of computing device in the network, such as a server or user terminal). The client 300 and the nodes 200 are connected through network communication.

[0102] Taking a distributed system as an example, see blockchain system. Figure 6 This is an optional structural diagram of the distributed system 100 provided in this embodiment of the invention applied to a blockchain system. It consists of multiple nodes 200 (any form of computing device connected to the network, such as servers or user terminals) and clients 300. The nodes form a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol running on top of the Transmission Control Protocol (TCP). In the distributed system, any machine, such as a server or terminal, can join and become a node. A node includes a hardware layer, a middleware layer, an operating system layer, and an application layer.

[0103] See Figure 6 The functions of each node in the blockchain system shown include:

[0104] 1) Routing: A basic function of nodes used to support communication between nodes.

[0105] In addition to routing capabilities, nodes can also have the following functions:

[0106] 2) Applications are deployed in the blockchain to implement specific business needs. They record data related to the implementation of functions to form record data, carry digital signatures in the record data to indicate the source of the task data, and send the record data to other nodes in the blockchain system. When other nodes successfully verify the source and integrity of the record data, they add the record data to the temporary block.

[0107] For example, the application's business logic includes code that implements data inspection functionality, which mainly includes:

[0108] The system receives a data inspection request from an application, which is triggered after the application is updated. The data inspection request includes the updated version information of the application. In a preset data inspection environment, the system obtains the update information of the corresponding version of the application based on the update version information. The system generates an editor that runs in the data inspection environment based on the update information. The editor is used to check the correctness of the data of the corresponding version of the application. The system runs the editor to check the data of the corresponding version of the application and obtains the data inspection results.

[0109] 3) A blockchain consists of a series of blocks that are sequentially generated. Once a new block is added to the blockchain, it will not be removed. The blocks contain the data submitted by the nodes in the blockchain system.

[0110] See Figure 7 This is an optional schematic diagram of the block structure provided in an embodiment of the present invention. Each block includes the hash value of the transaction records stored in this block (the hash value of this block) and the hash value of the previous block. The blocks are connected through their hash values ​​to form a blockchain. Additionally, the block may include information such as a timestamp when it was generated. A blockchain is essentially a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains relevant information used to verify the validity of the information (anti-counterfeiting) and to generate the next block.

[0111] This invention also provides a data inspection system, the structural diagram of which is shown below. Figure 8 As shown, it can specifically include:

[0112] The request receiving unit 20 is used to receive a data inspection request from an application, the data inspection request being triggered after the application is updated, and the data inspection request including the updated version information of the application.

[0113] The update information unit 21 is used to obtain the update information of the corresponding version of the application in a preset data inspection environment according to the update version information in the data inspection request received by the request receiving unit 20.

[0114] The editor unit 22 is used to generate an editor that runs in the data inspection environment based on the update information obtained by the update information unit 21. The editor is used to check the correctness of the data of the corresponding version of the application.

[0115] The data inspection unit 23 is used to run the editor generated by the editor unit 22 to inspect the data of the corresponding version of the application and obtain the data inspection results.

[0116] Furthermore, the data inspection system in this embodiment may also include:

[0117] The startup unit 24 is used to start the image data of the data inspection environment, which has the function of calling the underlying container; thus, the data inspection unit 23 is specifically used to call one or more underlying containers in the data inspection environment started by the startup unit 24, and run the editor through the one or more underlying containers to check the data of the corresponding version of the application.

[0118] Specifically, when the data inspection unit 23 calls one or more underlying containers, it is used to mount one or more underlying containers to a hard disk with historical updates. Furthermore, the data inspection system of this embodiment may also include a hard disk update unit 25, which is used to perform incremental updates based on the historical data already stored in the hard disk, so that the updated hard disk stores the data of the corresponding version of the application.

[0119] Furthermore, after obtaining the update information, the update information unit 21 is also used to filter the second update information in the update information if the update information includes second update information that does not involve the terminal performance of the application, and to notify the editor unit 22 to perform the steps of generating the editor and running the editor for the filtered update information.

[0120] Further, if the editor is an executable file that implements the data detection function, the editor unit 22 is specifically used to obtain the data inspection rules corresponding to the filtered update information; obtain the inspection code file that executes the data inspection rules in the data inspection environment, and store the inspection code file as an executable file. Wherein, if the data inspection environment is a first operating system environment, when the editor unit 22 obtains the inspection code file that executes the data inspection rules in the data inspection environment, it is specifically used to convert the existing second editing engine in the second operating system environment into a first editing engine running in the first operating system environment; add the data inspection rules to the first editing engine, and generate the inspection code file.

[0121] Specifically, when the editor unit 22 converts the existing second editing engine in the second operating system environment into the first editing engine running in the first operating system environment, it removes the rendering module involved in the second editing engine if the second editing engine is a graphical editing engine; and modifies multiple error codes that apply the second compilation engine to the first operating system environment, and the modified code is the first editing engine.

[0122] Furthermore, the data inspection system of this embodiment may also include: a user prompting unit 26, used to prompt the user corresponding to the updated user information according to the data inspection result if the data inspection request received by the request receiving unit 20 also includes updated user information for updating the application.

[0123] As can be seen, in this embodiment, when the request receiving unit 20 receives a data inspection request from the application, the update information unit 21 obtains the application's update information based on the update version information in the data inspection request within a preset data inspection environment. The editor unit 22 then generates an editor running in the data inspection environment based on this update information. The data inspection unit 23 then runs this editor to inspect the application's data and obtain the data inspection results. In this process, the data inspection system automatically generates an editor corresponding to the current update information in real time based on the data inspection request to inspect the application's data, achieving automation and real-time performance of the data inspection. Furthermore, in this embodiment, the data inspection environment in which the editor runs can be preset on a cloud platform, thus enabling data inspection on the cloud platform without needing to be deployed on the individual terminals of the developers.

[0124] This invention also provides a server, the structural diagram of which is shown below. Figure 9As shown, the server can vary considerably depending on its configuration or performance, and may include one or more central processing units (CPUs) 30 (e.g., one or more processors) and memory 31, and one or more storage media 32 (e.g., one or more mass storage devices) for storing application programs 321 or data 322. The memory 31 and storage media 32 can be temporary or persistent storage. The program stored in the storage media 32 may include one or more modules (not shown in the figure), each module including a series of instruction operations on the server. Furthermore, the CPU 30 may be configured to communicate with the storage media 32 and execute the series of instruction operations in the storage media 32 on the server.

[0125] Specifically, the application program 321 stored in the storage medium 32 includes a data checking application program, which may include the request receiving unit 20, update information unit 21, editor unit 22, data checking unit 23, startup unit 24, hard disk update unit 25, and user prompt unit 26 in the aforementioned data checking system, which will not be elaborated here. Furthermore, the central processing unit 30 may be configured to communicate with the storage medium 32 and execute a series of operations corresponding to the data checking application program stored in the storage medium 32 on a server.

[0126] The server may also include one or more power supplies 33, one or more wired or wireless network interfaces 34, one or more input / output interfaces 35, and / or one or more operating systems 323, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0127] The steps performed by the data inspection system in the above method embodiments can be based on this. Figure 9 The server structure is shown.

[0128] Furthermore, in another aspect, embodiments of the present invention also provide a computer-readable storage medium storing a plurality of computer programs adapted to be loaded by a processor and executed as described above in the data inspection system.

[0129] Another embodiment of the present invention provides a server, including a processor and a memory;

[0130] The memory is used to store multiple computer programs, which are loaded by a processor and executed as described in the data inspection system above; the processor is used to implement each of the multiple computer programs.

[0131] Additionally, according to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the data checking methods provided in the various optional implementations described above.

[0132] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, which may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0133] The data inspection method, system, storage medium, and server provided by the embodiments of the present invention have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A data inspection method, characterized in that, include: Receive a data check request from an application, the data check request being triggered after the application has been updated, the data check request including the updated version information of the application; In a pre-defined data inspection environment, update information for the corresponding version of the application is obtained based on the update version information; An editor is generated based on the updated information and runs in the data inspection environment. The editor is used to check the correctness of the data in the corresponding version of the application. The editor is tested in the data inspection environment, and errors during the test run are corrected. The errors include missing third-party dependency libraries and missing user interface components. The method for correcting the errors includes: first obtaining the missing objects, adding the obtained objects to the inspection code file of the data inspection rules corresponding to the updated information in the data inspection environment, and then storing the inspection code file as an executable file. Run the revised editor to inspect the data of the corresponding version of the application and obtain the data inspection results.

2. The method as described in claim 1, characterized in that, Before receiving the data inspection request from the application, the method further includes: The image data of the data inspection environment is started, and the data inspection environment has the function of calling the underlying container; The step of running the editor to check the data of the corresponding version of the application specifically includes: Invoke one or more underlying containers, and run the editor through the one or more underlying containers to check the data of the corresponding version of the application.

3. The method as described in claim 2, characterized in that, The invocation of one or more underlying containers specifically includes: Mount one or more underlying containers to a hard drive with historical updates; The method further includes: performing incremental updates based on historical data already stored in the hard disk, so that the updated hard disk stores the data of the corresponding version of the application.

4. The method according to any one of claims 1 to 3, characterized in that, After obtaining the update information of the corresponding version of the application based on the version information, the method further includes: If the update information includes second update information that does not involve the terminal performance of the application, the second update information in the update information is filtered, and the steps of generating the editor and running the editor are performed for the filtered update information.

5. The method as described in claim 4, characterized in that, The editor is an executable file that implements the data detection function; the step of generating an editor that runs in the data inspection environment based on the updated information specifically includes: Obtain the data inspection rules corresponding to the filtered update information; Obtain the inspection code file that executes the data inspection rules in the data inspection environment, and store the inspection code file as an executable file.

6. The method as described in claim 5, characterized in that, If the data inspection environment is a first operating system environment, then obtaining the inspection code file for executing the data inspection rules in the data inspection environment specifically includes: Transform the existing second editing engine in the second operating system environment into the first editing engine running in the first operating system environment; Add the data inspection rules in the first editing engine to obtain the inspection code file.

7. The method as described in claim 6, characterized in that, The step of converting an existing second editing engine in a second operating system environment into a first editing engine running in the first operating system environment specifically includes: If the second editing engine is a graphical editing engine, remove the rendering module involved in the second editing engine; Modify the multiple error codes that are applied to the first operating system environment using the second editing engine, and the resulting modified code becomes the first editing engine.

8. The method as described in claim 1, characterized in that, The data inspection request also includes updated user information for updating the application; The method further includes: Based on the data inspection results, a user prompt will be sent to the user corresponding to the updated user information.

9. A data inspection system, characterized in that, include: A request receiving unit is configured to receive a data inspection request from an application, the data inspection request being triggered after the application is updated, and the data inspection request including the updated version information of the application. The update information unit is used to obtain the update information of the corresponding version of the application based on the update version information in a preset data inspection environment. An editor unit is used to generate an editor that runs in the data inspection environment based on the update information. The editor is used to check the correctness of the data in the corresponding version of the application. The data inspection unit is used to test run the editor in the data inspection environment, correct errors during the trial run of the editor, and then run the corrected editor to check the data of the corresponding version of the application and obtain the data inspection results. The errors include missing third-party dependency libraries and missing user interface related components. The method for correcting the errors includes: first obtaining the missing objects, adding the obtained objects to the inspection code file of the data inspection rules corresponding to the updated information executed in the data inspection environment, and then storing the inspection code file as an executable file.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of computer programs adapted to be loaded by a processor and executed as described in any one of claims 1 to 8.

11. A server, characterized in that, Including processor and memory; The memory is used to store a plurality of computer programs, which are loaded by a processor and executed as described in any one of claims 1 to 8; the processor is used to implement each of the plurality of computer programs.

Citation Information

Patent Citations

  • Systems and methods for automated provisioning of a virtual mainframe test environment

    CA3056243A1

  • Data quality inspection method and system

    CN111400288A

  • Cloud auto-test system, method and non-transitory computer readable storage medium of the same

    US20150135015A1