CN108479061B - Application running data verification method and device, storage medium and server - Google Patents

Application running data verification method and device, storage medium and server Download PDF

Info

Publication number
CN108479061B
CN108479061B CN201810272223.1A CN201810272223A CN108479061B CN 108479061 B CN108479061 B CN 108479061B CN 201810272223 A CN201810272223 A CN 201810272223A CN 108479061 B CN108479061 B CN 108479061B
Authority
CN
China
Prior art keywords
verification
server
application
service
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810272223.1A
Other languages
Chinese (zh)
Other versions
CN108479061A (en
Inventor
郑伟
刘影齐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810272223.1A priority Critical patent/CN108479061B/en
Publication of CN108479061A publication Critical patent/CN108479061A/en
Application granted granted Critical
Publication of CN108479061B publication Critical patent/CN108479061B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/47Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/531Server assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5586Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the application discloses a method and a device for verifying running data of an application, a storage medium and a server, and belongs to the technical field of computers. The method is used in a verification server deployed with a verification process, the verification server is connected with a service server deployed with a service process, and the method comprises the following steps: receiving a verification request sent by the service process in the service server, wherein the verification request carries running data of an application corresponding to the service process; verifying the running data through the verification process to obtain a verification result; and sending the check result to the service process in the service server, wherein the service process is used for determining whether the operation data is tampered according to the check result. The embodiment of the application can ensure normal operation of the business process.

Description

Application running data verification method and device, storage medium and server
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a method and a device for verifying running data of an application, a storage medium and a server.
Background
Programs such as plug-ins, trojans, and viruses can tamper with the application's running data to earn benefits. In order to improve the security of the application, the running data of the application needs to be checked.
In the related technology, a service process corresponding to an application and a plurality of verification processes connected with the service process are deployed in one server, the service process in the server acquires a verification request carrying running data of the application, one verification process is selected from the plurality of verification processes, and the verification request is sent to the selected verification process for verification, so that a verification result that the running data is normal or the running data is abnormal is obtained.
When the check process occupies the processing resources of the server, the service process cannot run normally.
Disclosure of Invention
The embodiment of the application provides an application running data verification method, an application running data verification device, a storage medium and a server, and is used for solving the problem that a service process cannot run normally when a verification process occupies processing resources of the server. The technical scheme is as follows:
on one hand, the method for verifying the running data of the application is provided, and is used in a verification server deployed with a verification process, and the verification server is connected with a service server deployed with a service process, and the method comprises the following steps:
receiving a verification request sent by the service process in the service server, wherein the verification request carries running data of an application corresponding to the service process;
verifying the running data through the verification process to obtain a verification result;
sending the check result to the business process in the business server, wherein the business process is used for determining whether the running data is tampered according to the check result
On one hand, the running data checking device of an application is provided, which is used in a checking server deployed with a checking process, and the checking server is connected with a service server deployed with a service process, and the device comprises:
a receiving module, configured to receive a verification request sent by the service process in the service server, where the verification request carries running data of an application corresponding to the service process;
the checking module is used for checking the running data through the checking process to obtain a checking result;
and the sending module is used for sending the check result obtained by the check module to the service process in the service server, and the service process is used for determining whether the running data is tampered according to the check result.
In one aspect, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a set of codes, or a set of instructions is stored, and is loaded and executed by the processor to implement the running data checking method of the application as described above.
In one aspect, a verification server is provided, where the verification server includes a processor and a memory, where the memory stores at least one instruction, and the instruction is loaded and executed by the processor to implement the running data verification method for an application as described above.
The technical scheme provided by the embodiment of the application has the beneficial effects that:
the check process is deployed in the check server, and the service process is deployed in the service server, so that the check process can monopolize the processing resource of the check server, the service server can monopolize the processing resource of the service server, and the check process and the service server do not interfere with each other, and normal operation of the service process is guaranteed. In addition, when the service process and the verification process are independent, the logic is single, and the maintenance is simple. In addition, when the verification process has a bug, the verification server can be closed in a short time, and the verification server is opened after the verification server is successfully maintained, so that the service process in the service server can still provide service for the user in the period of closing the verification server, and the user cannot perceive that the verification server is closed, and the game experience cannot be influenced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a level diagram illustrating a level class application according to some exemplary embodiments;
FIG. 2 is a schematic illustration of an opening of a checkpoint-like application in accordance with some exemplary embodiments;
FIG. 3 is a diagram illustrating a settlement result for a checkpoint-like application in accordance with some exemplary embodiments;
FIG. 4 is an opening diagram illustrating a contest class application in accordance with some exemplary embodiments;
FIG. 5 is a diagram illustrating a settlement result for a contest class application, according to some exemplary embodiments;
FIG. 6 is a block diagram illustrating a verification system in accordance with some exemplary embodiments;
FIG. 7 is a block diagram illustrating a verification system in accordance with certain exemplary embodiments;
FIG. 8 is a block diagram illustrating a verification system in accordance with certain exemplary embodiments;
FIG. 9 is a block diagram illustrating a verification system in accordance with certain exemplary embodiments;
fig. 10 is a schematic structural diagram of a verification system provided in the related art;
FIG. 11 is a flowchart of a method for verifying running data of an application according to an embodiment of the present application;
FIG. 12 is a flowchart of a method for verifying running data of an application according to another embodiment of the present application;
fig. 13 is a schematic flowchart of a running data verification method for an application according to another embodiment of the present application;
fig. 14 is a block diagram illustrating an apparatus for verifying operation data of an application according to an embodiment of the present application;
fig. 15 is a block diagram of an apparatus for verifying operation data of an application according to still another embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the embodiments of the present application more clear, the embodiments of the present application will be further described in detail with reference to the accompanying drawings.
Before explaining the embodiments of the present application in detail, an application scenario of the embodiments of the present application will be explained.
The embodiment of the application is applied to a scene for determining whether the running data of the application is tampered, and the scene may include:
1. in the checkpoint application, the operation data is reported for settlement after one or more checkpoints are finished
The level application comprises a plurality of levels, and the service server unlocks the next level after the user successfully passes one level. The level applications may include game applications, answer applications, and the like.
The method comprises the steps that a terminal for installing related card applications finishes a checkpoint after timing is finished or operation steps are used up, operation data for settlement generated by the application in a time period for displaying the checkpoint are collected, if a program for tampering the operation data exists, the program can tamper the operation data before the terminal reports the operation data, and the terminal reports the tampered operation data, so that a service server mistakenly thinks that a user successfully passes the checkpoint, and the service server is cheated to unlock the next checkpoint or issue a pass reward of the checkpoint. To avoid this problem, the operating data needs to be checked by the checking server.
Referring to fig. 1-3, the application scenario will be described by taking the scenario that the level class application is an elimination class game as an example.
FIG. 1 is a schematic diagram of a checkpoint interface, wherein icon 110 refers to a checkpoint 27 that a user has successfully breached, icon 120 refers to a checkpoint 28 that a user is breaching, and icon 130 refers to a checkpoint 29 that has not been unlocked.
Fig. 2 is a schematic diagram of an opening interface that begins to breach the gate 28 when a user clicks on a control 210. Optionally, available props during the breakthrough can be displayed on the interface, which is represented by the controls 220 in the dashed box, and when the user clicks any one of the controls 220 in the dashed box, the prop corresponding to the control 220 is selected.
After one customs card is finished, the terminal of the user sends the operation data generated in the process of displaying the customs card to the verification server for verification, and after the verification result that the operation data is not tampered is obtained, the service server sends a settlement result to the user. As shown in fig. 3, which is a schematic diagram of the settlement result, the control 310 has score 29450 displayed thereon, the control 320 has star level displayed thereon, and the control 330 has entry of the next level, i.e., the next level is unlocked.
2. In competition applications, the running data is reported for settlement after one or more competitions are finished
The contest-like application may initiate a plurality of contests, and after a user completes a contest, the service server may send an award for a winner depending on the outcome of the contest. The competition applications may include game applications, answer applications, and the like.
The terminal provided with the competition application finishes a competition after timing is finished or the life value of a game character is exhausted or an area protected by the game character is occupied, operation data for settlement generated by the application during the competition are collected, if a program for tampering the operation data exists, the program can tamper the operation data before the operation data is reported by the terminal, and the terminal reports the tampered operation data, so that the service server mistakenly deems that a user defeats an opponent, and the service server is cheated to issue a prize of a winner. To avoid this problem, the operating data needs to be checked by the checking server.
Referring to fig. 4-5, the application scenario will be described by taking the game application as xx game.
FIG. 4 is a schematic diagram of an interface for the start of a competition, wherein the head portraits of 6 users participating in the competition are contained in a dashed box 410.
After a competition is finished, the terminals of the 6 users respectively send the running data generated in the competition process to the verification server for verification, and after the verification result that the running data is not tampered is obtained, the service server sends a settlement result to each user. As shown in FIG. 5, a schematic of the end of the contest interface is shown, wherein the dotted box 510 contains the gold coins and the empirical award to the winner "big fart" of the present contest.
In the embodiment of the application, the check process for providing the check service and the service process for providing the service are independent from each other, that is, the check process originally deployed at the rear end of the service process in the service server is deployed to the independent check server as the bypass process, so that the check process can solely share the resources of the check server, the service process can also solely share the resources of the service server, the check process does not influence the service process, and the normal operation of the service process can be ensured.
The names appearing are explained below:
1. and (4) process:
a process is an execution subject that executes a program or computer instructions.
2. Service:
the business refers to game logic business, and also refers to business functions or business requirements processed by programs, and the like, and the object of the business is logic.
3. And (4) service process:
a business process refers to a process that performs a business function or business requirement, and is referred to as a "process".
In short, a business process is an execution subject that executes programs or computer instructions for implementing business functions, or a business process is an execution subject that executes programs or computer instructions for implementing business requirements.
Taking the elimination type application as an example, the service is the running logic of the game, including icon elimination logic, check-in and prize-receiving logic, and the like. If the above-mentioned operation logic is implemented by a program or computer instructions, an execution subject executing the above-mentioned program or computer instructions is called a business process. For example, the service process eliminates the icon that meets the elimination condition to implement an icon elimination logic; and the business process issues rewards according to the check-in days so as to realize logic of checking in and receiving the rewards.
4. And (3) checking a process:
the verification process is a process that completes a verification function or a verification requirement.
5. A service server:
the server running the business process is called a business server.
6. Checking the server:
the server running the verification process is called a verification server.
Next, a system architecture of the embodiment of the present application is described.
Please refer to fig. 6, which illustrates a schematic structural diagram of a verification system according to an embodiment of the present application. The verification system comprises a terminal 610, a service server 620 and a verification server 630, wherein the service server 620 is respectively connected with the terminal 610 and the verification server 620 through a wired network or a wireless network.
The terminal 610 is a device having a data transceiving function, such as a smart phone, a tablet computer, a computer, an e-book reader, a music player, a wearable device, and the like. The terminal 610 first obtains an installation package of the application, and the installation package is installed to obtain the application. For example, if the installation package process of the game application is installed, the game application can be obtained; if the installation package of the shopping application is installed, the shopping application can be obtained.
The service server 620 is a background server of the application, and may be a server or a server cluster formed by multiple servers or a cloud computing center. Business process 621 is deployed in business server 620, and application is served through business process 621. Taking a strong verification service as an example, the strong verification service is one of anti-plug-in services in a game, and means that the operation data of the application is sent to a verification server, the verification server performs calculation again according to the operation data to obtain a settlement result, and the settlement result is compared with the settlement result in the operation data, so that whether the plug-in has tampered the settlement result of the application or not is determined, and then the settlement result of the application is accepted or rejected, so that the abnormal income in the game is controlled, and the fairness of the game is ensured. The operation data includes opening information, operation data, and settlement result, which is explained in step 1101.
For example, when the application is a gaming application, the business process 621 may be a gaming process, also referred to as GameSvr. The game process is used for receiving a settlement request containing application running data sent by a terminal, generating a verification request containing the running data and sending the verification request to the verification server 630 for verification, and determining whether a plug-in is present to tamper the application running data according to a verification result returned by the verification server 630, so that when the running data is not tampered, a game level is unlocked and game rewards are issued; and when the running data is tampered, the game progress of the application is cancelled.
Optionally, a version of business process 621 may be deployed in a business server 620 to reduce the difficulty of version compatibility.
The verification server 630 is a server for verifying the verification request sent by the service server, and may be a server or a server cluster formed by multiple servers or a cloud computing center. The verification server 630 is disposed with a load scheduling center 631 and a verification process 632, where the load scheduling center 631 is configured to schedule the verification request, and the verification process 632 is configured to verify the verification request. When the verification server 630 receives the verification request, the verification request is distributed to the verification process 632 through the load call center 631, the verification process 632 verifies the verification request, the verification result is sent to the load scheduling center 631, and the load scheduling center 631 sends the verification result to the service server 620. The flow of allocating the check request by the load scheduling center 631 is described in the following embodiments, and is not described herein again.
In this embodiment, at least one group of verification processes 632 is further configured in the verification server 630 for each version information of the same application. Referring to fig. 7, wherein the business process 621 is represented by GameSvr (game service), the load scheduling center 631 is represented by CheckCenter, the check process 632 is represented by CheckLogic, the version information includes 1.0.0.0.0, 2.0.0.0, and 3.0.0.0, a set of check processes including 2 check processes 632 is created for version information of 1.0.0.0, a set of check processes including 4 check processes 632 is created for version information of 2.0.0.0, and a set of check processes including 3 check processes 632 is created for version information of 3.0.0.0.
In FIG. 7, Fork on need refers to the on-demand creation process, and Exit on idle refers to Exit when idle. epoll is a multiplex IO (Input/Output ) multiplexing interface under Linux (operating system), and by using this technology, a group of check processes can be woken up by fd (handle) when a check request is added to a message queue.
Please refer to fig. 8, which illustrates a schematic structural diagram of a verification system according to an embodiment of the present application. The verification system comprises a terminal 610, a service server 620, a verification server 630 and a proxy server 640, wherein the service server 620 is respectively connected with the terminal 610 and the proxy server 640 through a wired network or a wireless network, and the proxy server 640 is connected with the verification server 630 through a wired network or a wireless network.
The contents of the terminal 610, the service server 620 and the verification server 630 are described in detail in the above description, and are not described herein again.
A proxy process 641 is deployed in the proxy server 640, and the proxy process 641 is configured to forward the check request sent by the service server 620 to the check server 630. Optionally, when the guest verification system includes multiple verification servers 630, the proxy server 640 may forward the verification request to one of the verification servers 630 according to a load balancing algorithm, so as to ensure load balancing of the verification system, that is, global load balancing.
When load balancing is implemented, the proxy server 640 may read a User Identification (UID) of the User from the verification request, and then select one of the verification servers 630 according to one of a random and consistent hash algorithm and the UID.
Referring to fig. 9, it is different from fig. 7 in that a proxy process 641 is added between the service process 621 and the load scheduling center 631. The proxy process 641 is represented by ProxySvr (proxy service).
In the related art, a service process and a verification process are deployed in one server at the same time, please refer to fig. 10, and the verification process, a friend relationship process (FriendSvr), and the like are connected behind the service process. Thus, when the check process is full of processing resources, the service process cannot occupy the processing resources, and thus cannot run normally. In this embodiment, the above problem can be solved by deploying the service process and the verification process on different servers.
Referring to fig. 11, a flowchart of a method for verifying running data of an application according to an embodiment of the present application is shown, where the method for verifying running data of an application can be applied to the verification servers shown in fig. 6 and 8. The running data verification method of the application comprises the following steps:
step 1101, receiving a verification request sent by a service process in a service server, where the verification request carries running data of an application corresponding to the service process.
The operational data refers to data for settlement recorded by the application during a checkpoint or a contest.
The operation data comprises opening information, operation data and a first result. The opening information is used for indicating an opening chessboard, and may include a random seed or chessboard information of the opening chessboard determined according to the random seed, where the random seed is issued to the terminal where the application is located by the service server. Wherein, the open chessboard refers to the chessboard when starting competition or closing the card. For example, when the application is an elimination-type game, opening a game board may be information describing the shape of the game board, the content of each icon in the game board, and the relative position relationship of each icon in the game board when a level is opened.
When the opening information includes the random seed, a random function may be stored in the terminal and the check server, and an opening board may be uniquely determined according to the random function and the random seed.
When the opening information includes the chessboard information, the chessboard information may be sent to the verification server by the terminal or the service server. Since other programs may falsify the chessboard information, in order to improve the data security, the chessboard information may be sent to the service server by the terminal, and the service server determines the chessboard information of the open chessboard according to the random seed and the stored random function and then sends the chessboard information to the verification server.
The operation data is used to record various operations performed by the user on the application according to the operation sequence, such as a sliding operation, a clicking operation, a double-clicking operation, and the like, which is not limited in this embodiment. Taking an elimination-type game as an example, suppose that the user performs a right-sliding operation at location a to indicate that the icons at location a and a location to the right of location a are exchanged; then a left-sliding operation is performed at the position B to represent the icon at the position B and a position on the left side of the position B; then, a slide-up operation is performed at the position C to represent the icon at the exchange position C and a position one above it; the operational data may be: position a right slide operation, position B left slide operation, position C slide operation. In addition to performing the sliding operation, the user may use the prop, for example, if the user performs a click operation at position D first and then performs a click operation at position E to indicate that the prop at position D is used at position E, the operation data is: and clicking at a position D and clicking at a position E.
The first result is obtained by the running logic, opening information and operation data of the application. Wherein the run logic is responsive to an operation performed by a user. Still take the elimination of animal icons in the elimination-like game as an example, assume that the operation logic is that 3 identical animal icons are in a straight line plus 10 minutes, 4 identical animal icons are in a straight line plus 20 minutes, 5 identical animal icons are in a straight line plus 40 minutes, and after a right-sliding operation is performed at a position A, the 3 identical animal icons are in a straight line, and 10 minutes are added at this time; after a left sliding operation is performed at the position B, enabling 3 same animal icons to be in a straight line, and adding 10 points at the moment; after performing a sliding up operation at position C, 5 identical animal icons are made to be a straight line, and 50 points are added, so that the first result is 10+10+50 points to 70 points.
Of course, after the application calculates the first result, the reported first result may be tampered with by other programs to earn benefits. For example, the other programs obtain the first settlement result, tamper the first settlement result into the first settlement result used for indicating success of the competition or success of the clearance, and the terminal reports the tampered first settlement result to obtain the reward of success of the competition or the clearance. Or other programs acquire the running data of a certain one-game competition and repeatedly upload the running data as the running data of the multiple-game competition to acquire the reward of the multiple-game competition; or other programs acquire the operation data of a certain level and repeatedly upload the operation data as the operation data of a plurality of levels to acquire rewards of the plurality of levels.
In order to ensure the fairness of the game, after a first settlement result is calculated, the application needs to generate running data, then generates a settlement request carrying the running data, sends the settlement request to the service server through the terminal, generates a verification request according to the settlement request by the service server, and sends the verification request to the verification server for verification.
Step 1102, verifying the running data through a verification process to obtain a verification result.
When the verification process verifies the operation data, the verification server may determine the opening chessboard according to the opening information, calculate a second settlement result according to the opening chessboard and the operation data according to the operation logic of the application, and compare the first settlement result with the second settlement result to determine whether the first settlement result is tampered. The calculation process is the same as the calculation process of calculating the first result by the application, and is not described herein again. Alternatively, the first and second electrodes may be,
when the verification process verifies the running data, the verification server may first determine whether the opening information is received for the first time. When the opening information is received for the first time, the checking server determines that the first settlement result is not reported repeatedly by other programs, at the moment, the opening chessboard is determined through the opening information, a second settlement result is calculated according to the opening chessboard and the operation data according to the operation logic of the application, and the first settlement result and the second settlement result are compared to determine whether the first settlement result is falsified; when the opening information is not received for the first time, the checking server determines that the first result is repeatedly reported by other programs, and generates a checking result of checking failure.
When determining whether to receive the opening information for the first time, since the random seeds issued by the service server every time are different in order to prevent malicious other programs from cheating, the check server can acquire the opening information and detect whether the random seeds (or the chessboard information) in the opening information are used. When the random seed (or chessboard information) is used, determining that the opening information is not received for the first time; when the random seed (or checkerboard information) is unused, it is determined that the opening information was received for the first time. When the service server issues the random seed, the service server may add one to the previous used random seed to generate a new random seed, or the service server may obtain a random seed arranged after the previous used random seed from a group of random seeds.
It should be noted that, when a group of operation data includes multiple pieces of operation data, and each piece of operation data corresponds to a race or a checkpoint, the load scheduling center may further distribute each piece of operation data in the group of operation data to one verification server, so that multiple verification servers may perform parallel verification, and then summarize verification results of the multiple verification servers, thereby saving verification time and reducing service burs.
Step 1103, sending the verification result to a service process in the service server, where the service process is configured to determine whether the running data is tampered according to the verification result.
And when the verification result is that the verification is successful, the business process determines that the operation data is not tampered, and at the moment, the business process can unlock the game level and issue game rewards. And when the verification result is that the verification fails, the business process determines that the operation data is tampered, and at the moment, the business process can cancel the game progress of the application.
The method for strongly verifying the single game is suitable for light leisure games, such as the existing elimination games and running games. In the single game, the terminal does not need to communicate with the verification server frequently, even can play the game offline, and the whole single game only needs to be subjected to strong verification after the whole single game is finished so as to settle the game result. Through the strong verification mode, the player is not limited by the current network condition when playing the game, and can play the game anytime and anywhere, so that the game experience is improved.
Since the verification belongs to a CPU (central Processing Unit) intensive logic, parallel computation needs to be performed by using a multi-core CPU to reduce the average time delay of settlement, and therefore, when the verification server is a multi-core processor, the verification effect is better.
In summary, according to the method for verifying the running data of the application provided by the embodiment of the present application, the verification process is deployed in the verification server, and the service process is deployed in the service server, so that the verification process can monopolize the processing resource of the verification server, the service server can monopolize the processing resource of the service server, and the two are not interfered with each other, thereby ensuring that the service process runs normally. In addition, when the service process and the verification process are independent, the logic is single, and the maintenance is simple. In addition, when the verification process has a bug, the verification server can be closed in a short time, and the verification server is opened after the verification server is successfully maintained, so that the service process in the service server can still provide service for the user in the period of closing the verification server, and the user cannot perceive that the verification server is closed, and the game experience cannot be influenced.
The plurality of service servers can be checked in parallel, and then the checking results of the plurality of service servers are summarized, so that the time consumption of checking is saved, and the service burrs can be reduced.
Referring to fig. 12, a flowchart of a method for verifying running data of an application according to another embodiment of the present application is shown, where the method for verifying running data of an application can be applied to the verification servers shown in fig. 6 and fig. 8. The running data verification method of the application sets a group of verification processes for each version information, and comprises the following steps:
step 1201, for each version information, creating a message queue and a check process corresponding to the version information.
The version information is used to indicate the version of the application. The version information may be a version number in a digital form or a text form, such as a version number of 1.0.0.0, 2.0.0.0, and the like, or a version number of a first version, a second version, and the like.
The message queue is a queue for storing check requests for reading by the check process. After a check process reads a check request, the check request is deleted from the message queue.
In this embodiment, the verification server may create at least one message queue for each version information, and create at least one group of verification processes for each message queue, where the group of verification processes includes at least one verification process.
In one implementation, the verification server creates a message queue and a set of verification processes for each version information. When the verification server is initialized, the version information of the released version of the application program is obtained from the service server, and a message queue and a group of verification processes are created for each version information, so that the version information, the message queue and the group of verification processes have a corresponding relationship. Wherein a message queue and a set of verification processes are created by the load scheduling center.
The creating of the message queue and the verification process corresponding to the version information comprises the following steps: creating a message queue corresponding to the version information; creating a verification process; and for each checking process, controlling the checking process to load a checking logic library corresponding to the version information, wherein the checking logic library is used for providing the running logic of the application corresponding to the version information.
When the verification server creates a message queue and a group of verification processes for each version information, a message queue corresponding to the version information is created firstly; then a group of verification processes is established; and for each verification process in the group of verification processes, controlling the verification process to load a verification logic library corresponding to the version information, wherein the verification logic library is used for providing the running logic of the application corresponding to the version information.
And when the verification process loads the verification logic library corresponding to the version information, verifying the operation data in the verification request according to the operation logic in the verification logic library.
Step 1202, receiving a check request sent by a service process in a service server, where the check request carries running data of an application corresponding to the service process.
The content of the operation data is described in step 1101, and is not described herein again.
It should be noted that the verification request is sent to the verification server after the proxy server receives the verification request sent by the service server and performs global load balancing.
Step 1203, when the verification request carries version information of the application and a verification process corresponding to each version information is deployed in the verification server, selecting a message queue corresponding to the version information in the verification request from each created message queue.
At step 1204, the validation request is added to the selected message queue.
In this embodiment, when the check request is added to the message queue, the load scheduling center further needs to determine whether the check server is overloaded and whether the version of the application is stable, which is described in the following three implementation manners.
1) In a first implementation, detecting whether a check server meets an overload condition; when it is determined that the check server does not satisfy the overload condition, the check request is added to the selected message queue.
The overload condition may be: the queue length of the message queue is too long, and a new verification process cannot be established. That is, the queue length of each message queue is greater than the first threshold, and the number of the verification processes in each group of verification processes corresponding to each message queue is equal to the second threshold. The first threshold and the second threshold may be set according to empirical values, and the embodiment is not limited.
When the queue length of at least one message queue is greater than the first threshold and the number of the verification processes in a group of verification processes corresponding to the message queue is less than the second threshold, or when the queue length of at least one message queue is less than or equal to the first threshold, the load scheduling center determines that the verification server does not meet the overload condition, adds the verification request to the selected message queue, and executes step 1205.
And when the verification server is determined to meet the overload condition, discarding the verification request, and when the service server is not used for receiving the verification result after the verification duration, determining that the verification result is successful.
And when the queue length of each message queue is greater than a first threshold value and the number of the verification processes in each group of verification processes corresponding to each message queue is equal to a second threshold value, the load scheduling center determines that the verification server meets the overload condition, and discards the verification request at the moment. When the verification server is connected with the service server, the load scheduling center does not feed back a verification result to the service server, and when the service server does not receive the verification result after the verification duration, the default verification result is successful, and the process is ended. When the verification server is connected with the proxy server, the load scheduling center does not feed back a verification result to the proxy server, and when the proxy server does not receive the verification result after the verification duration, the default verification result is successful, the verification result which is successful is fed back to the service server, and the process is ended.
When the verification server is overloaded, flexible overload protection service is adopted, so that the overall architecture of the system has better flexibility.
2) In a second implementation manner, whether the selected message queue is shielded or not is detected, wherein the message queue is shielded when the application corresponding to the version information is unstable; when it is determined that the selected message queue is unmasked, a check request is added to the message queue.
When the operation logic is unstable, the verification process verified by the operation logic may be unstable, and the verification process may not feed back the verification result of the verification request to the verification server, so that the load scheduling center may determine the stability of the application according to whether the verification result of the verification process is received.
The load scheduling center can count the times of not receiving the verification results fed back by each group of verification processes, and when the times are greater than a third threshold value, the application corresponding to the group of verification processes is determined to be unstable; and when the times are less than or equal to a third threshold value, determining that the application corresponding to the group of verification processes is stable. Or, the load scheduling center may count a proportion of the verification results that are not fed back by each verification process, and when the proportion is greater than a third threshold, determine that the application corresponding to the group of verification processes is unstable; and when the proportion is less than or equal to the third threshold value, determining that the application corresponding to the group of verification processes is stable. Wherein the ratio is a ratio of the number of times that the verification result fed back by the group of verification processes is not received, divided by the total number of times that the verification requests are allocated to the group of verification processes.
When the application is unstable, even if the check request is added to the message queue, the check process may not feed back the check result, so the load scheduling center may mask the message queue. Subsequently, when the verification server receives the verification request, the load scheduling center may detect whether the message queue is masked, and when the message queue is not masked, it indicates that the application is stable, and the load scheduling center adds the verification request to the message queue, and then step 1205 is performed.
And when the selected message queue is determined to be shielded, discarding the verification request and generating unstable application alarm information for prompting the version information, wherein the service server is used for determining that the verification result is successful when the verification result is not received after the verification duration.
After the load scheduling center discards the verification request, when the verification server is connected with the service server, the load scheduling center does not feed back the verification result to the service server, and when the service server does not receive the verification result after the verification duration, the default verification result is successful, and the process is ended. When the verification server is connected with the proxy server, the load scheduling center does not feed back a verification result to the proxy server, and when the proxy server does not receive the verification result after the verification duration, the default verification result is successful, the verification result which is successful is fed back to the service server, and the process is ended.
Since at least one group of verification processes corresponds to one version information, it is easier to track the stability of the application according to whether the at least one group of verification processes feeds back the verification result.
In the embodiment, the verification request is distributed to the message queues corresponding to the different versions of information, so that version isolation in the verification process can be realized, a plurality of versions cannot depend on common library and protocol files, the difficulty of version compatibility is reduced, and the stability of verification is improved.
In this embodiment, the load scheduling center also needs to generate the alarm information, so that a technician can modify the operation logic of the application after seeing the alarm information, so as to improve the stability of the application.
3) In a third implementation manner, whether the verification server meets an overload condition is detected, and whether the selected message queue is shielded is detected; when it is determined that the validation server does not satisfy the overload condition and the selected message queue is unmasked, the validation request is added to the selected message queue.
Discarding the verification request when it is determined that the verification server satisfies the overload condition; or when the selected message queue is determined to be shielded, discarding the check request and generating unstable application alarm information corresponding to the prompt version information.
The third implementation manner is a combination of the first and second implementation manners, and details of implementation are described in the above description, which is not described herein again. The embodiment does not limit the sequence of execution for detecting whether the check server meets the overload condition and whether the selected message queue is shielded.
Step 1205, obtaining the queue length of the selected message queue; and when the queue length meets the length condition, newly establishing at least one checking process in the checking processes corresponding to the message queue.
When the queue length of the message queue has been obtained in step 1204, the load scheduling center may read the queue length.
The length condition may be: the queue length is greater than a fourth threshold and less than the first threshold. The fourth threshold may be set according to an empirical value, and the embodiment is not limited.
When the queue length of the message queue is greater than the fourth threshold and smaller than the first threshold, it indicates that the created group of verification processes still does not reach the verification request in the verification message queue, and at this time, the load scheduling center may newly create at least one verification process in the group of verification processes, so as to improve the verification efficiency. The flow of the new verification process is described in step 1201, and is not described herein again.
Optionally, the method further includes: monitoring each checking process in an idle state; and destroying the verification process when the verification process in the idle state meets the destruction condition.
In this embodiment, an idle state and a working state may be set for the verification process, and when the verification process is verifying the verification request, the verification process is in the working state; and when the verification request does not verify the verification request, the system is in an idle state.
The destruction conditions are: the idle duration is greater than a fifth threshold. The fifth threshold may be set according to an empirical value, and the embodiment is not limited.
In this embodiment, the verification requests are distributed to the message queues corresponding to the different versions of information, and the verification process is dynamically created and destroyed according to the number of the verification requests, so that load balance of the verification server, that is, local load balance, can be ensured.
And 1206, triggering a check process corresponding to the message queue to rob the check right, wherein the check process with the check right in the check process is used for reading the check request from the message queue.
Wherein, the check right refers to the right capable of reading the check request in the message queue.
Taking a group of verification processes as an example, when one verification process in the group of verification processes is in an idle state, the verification process is granted the verification right, and the verification process reads the verification request from the message queue. When at least two verification processes exist in a group of verification processes and are in an idle state, triggering the at least two verification processes to preempt the verification right in a preemptive mode, and reading the verification request from the message queue by the verification processes which preempt the verification right, namely which verification process preempts the verification right first and which verification process carries out verification. When the verification process in the idle state does not exist in the group of verification processes, the verification process which is firstly in the idle state after the verification process is granted the verification right, and the verification process reads the verification request.
In this embodiment, load balancing is achieved in a preemptive manner through the surprise group effect, and the problem of load imbalance caused by overload and starvation of part of verification processes is avoided. The surprise group effect is to trigger a check process to rob the check right when a check request is added to a message queue.
Step 1207, the running data is verified through the verification process to obtain a verification result.
Wherein, the operation data is verified through the verification process, which comprises the following steps: reading opening information, operation data and a first result in the running data, wherein the operation data is used for recording various operations of a user on the application according to an operation sequence, and the first result is obtained by the running logic, the opening information and the operation data of the application; calculating the opening information and the operation data by using the operation logic to obtain a second settlement result; when the second settlement result is the same as the first settlement result, generating a verification result for indicating that the verification is successful; when the second settlement result is different from the first settlement result, a verification result indicating a verification failure is generated.
The verification process is described in step 1102, and is not described herein again.
When calculating the second settlement result, the performance of a certain version of the logical checking library may also be analyzed in a targeted manner by using a perf (performance analysis tool), and the result of the performance analysis is displayed by the perf, so that a technician may optimize the logical checking library according to the result of the performance analysis.
And step 1208, sending the verification result to a service process in the service server, wherein the service process is used for determining whether the operation data is tampered according to the verification result.
And when the verification result is that the verification is successful, the business process determines that the operation data is not tampered, and at the moment, the business process can unlock the game level and issue game rewards. And when the verification result is that the verification fails, the business process determines that the operation data is tampered, and at the moment, the business process can cancel the game progress of the application.
In summary, according to the method for verifying the running data of the application provided by the embodiment of the present application, the verification process is deployed in the verification server, and the service process is deployed in the service server, so that the verification process can monopolize the processing resource of the verification server, the service server can monopolize the processing resource of the service server, and the two are not interfered with each other, thereby ensuring that the service process runs normally. In addition, when the service process and the verification process are independent, the logic is single, and the maintenance is simple. In addition, when the verification process has a bug, the verification server can be closed in a short time, and the verification server is opened after the verification server is successfully maintained, so that the service process in the service server can still provide service for the user in the period of closing the verification server, and the user cannot perceive that the verification server is closed, and the game experience cannot be influenced.
By distributing the verification requests to the message queues corresponding to different versions of information and dynamically creating and destroying the verification process according to the number of the verification requests, the purpose of ensuring the load balance of the verification server, namely the local load balance, can be achieved.
The global load balancing is carried out through the proxy server, and the local load balancing is carried out through the verification server, so that the balance and the stability of verification can be ensured through two layers of load balancing strategies.
When the verification server is overloaded, flexible overload protection service is adopted, so that the whole framework has better flexibility.
Since at least one group of verification processes corresponds to one version information, it is easier to track the stability of the application according to whether the at least one group of verification processes feeds back the verification result.
By distributing the verification request to the message queues corresponding to different versions of information, version isolation in the verification process can be achieved, the difficulty of version compatibility is reduced, and the stability of verification is improved.
Through the surprise group effect, the load balance is achieved in a preemptive mode, and the problem that the load is not balanced due to overload and partial starvation is solved.
When calculating the second settlement result, the performance of a certain version of the logical checking library may also be analyzed in a targeted manner by using a perf (performance analysis tool), and the result of the performance analysis is displayed by the perf, so that a technician may optimize the logical checking library according to the result of the performance analysis.
The plurality of service servers can be checked in parallel, and then the checking results of the plurality of service servers are summarized, so that the time consumption of checking is saved, and the service burrs can be reduced.
Referring to fig. 13, taking an example that a set of operation data includes operation data of a weekly level and a weekly level includes 2 mini levels, the verification process is as follows:
1. the terminal with the application sends a settlement request to the service process;
2. the service process generates two verification requests according to the settlement request, and the two verification requests are respectively sent to the load scheduling centers in the two service servers through the proxy server;
3. each load scheduling center distributes the verification request to a verification process;
wherein, assigning the verification request to the verification request means: and adding the check request into a message queue, wherein one check process in a group of check processes corresponding to the message queue reads one check request from the message queue.
4. Each checking process returns the checking result to the corresponding load scheduling center;
5. the load scheduling center forwards the collected checking result to the service process;
6. after the business process collects all the verification results, obtaining an overall verification result, and unlocking and rewarding according to the overall verification result to obtain a settlement result;
7. and the service process sends the settlement result to the terminal.
Referring to fig. 14, a block diagram of an application running data verification apparatus according to an embodiment of the present application is shown, where the application running data verification apparatus may be applied to the verification servers shown in fig. 6 and fig. 8. The running data verifying device of the application comprises:
a receiving module 1410, configured to receive a verification request sent by a service process in a service server, where the verification request carries running data of an application corresponding to the service process;
the checking module 1420 is configured to check the running data through a checking process to obtain a checking result;
the sending module 1430 is configured to send the verification result obtained by the verifying module 1420 to the service process in the service server, where the service process is configured to determine whether the running data is tampered according to the verification result.
Optionally, the apparatus further comprises:
and the selection module is used for selecting the verification process from the verification processes corresponding to the version information in the verification request when the verification request carries the version information of the application and the verification processes corresponding to each version information are deployed in the verification server before the verification module verifies the running data through the verification processes to obtain the verification result.
And (4) optional. The device also includes:
the creating module is used for creating a message queue and a checking process corresponding to the version information for each version information;
a selection module further configured to: selecting a message queue corresponding to the version information in the verification request from the created message queues; adding the check request to the selected message queue; and triggering a check process corresponding to the message queue to rob the check right, wherein the check process with the check right in the check process is used for reading the check request from the message queue.
Optionally, the creating module is further configured to:
creating a message queue corresponding to the version information;
creating a verification process; and for each verification process, controlling the verification process to load a verification logic library corresponding to the version information, wherein the verification logic library is used for providing the running logic of the application corresponding to the version information.
Optionally, the selecting module is further configured to:
detecting whether the verification server meets an overload condition;
when it is determined that the check server does not satisfy the overload condition, the check request is added to the selected message queue.
Optionally, the apparatus further comprises:
the detection module is used for detecting whether the verification server meets the overload condition or not;
and the discarding module is used for discarding the verification request when the verification server is determined to meet the overload condition, and the service server is used for determining that the verification result is successful when the verification result is not received after the verification duration.
Optionally, the selecting module is further configured to:
detecting whether the selected message queue is shielded or not, wherein the message queue is shielded when the application corresponding to the version information is unstable;
when it is determined that the selected message queue is unmasked, a check request is added to the message queue.
Optionally, the apparatus further comprises:
the detection module is used for detecting whether the selected message queue is shielded or not, and the message queue is shielded when the application corresponding to the version information is unstable;
and the discarding module is used for discarding the verification request when the selected message queue is determined to be shielded, generating unstable application alarm information for prompting the version information, and the service server is used for determining that the verification result is successful when the verification result is not received after the verification duration.
Optionally, the selecting module is further configured to:
acquiring the queue length of the selected message queue;
and when the queue length meets the length condition, newly establishing at least one checking process in the checking processes corresponding to the message queue.
Optionally, the apparatus further comprises:
the monitoring module is used for monitoring each checking process in an idle state;
and the destroying module is used for destroying the verification process when the verification process in the idle state meets the destroying condition.
Optionally, the checking module is further configured to:
reading opening information, operation data and a first result in the running data, wherein the operation data is used for recording various operations of a user on the application according to an operation sequence, and the first result is obtained by the running logic, the opening information and the operation data of the application;
calculating the opening information and the operation data by using the operation logic to obtain a second settlement result;
when the second settlement result is the same as the first settlement result, generating a verification result for indicating that the verification is successful;
when the second settlement result is different from the first settlement result, a verification result indicating a verification failure is generated.
Optionally, the application is a game-like application.
To sum up, the running data verification apparatus for an application provided in this embodiment deploys a service process in a service server by deploying a verification process in the verification server, so that the verification process can monopolize processing resources of the verification server, and the service server can monopolize processing resources of the service server, which are not interfered with each other, thereby ensuring normal running of the service process. In addition, when the service process and the verification process are independent, the logic is single, and the maintenance is simple. In addition, when the verification process has a bug, the verification server can be closed in a short time, and the verification server is opened after the verification server is successfully maintained, so that the service process in the service server can still provide service for the user in the period of closing the verification server, and the user cannot perceive that the verification server is closed, and the game experience cannot be influenced.
By distributing the verification requests to the message queues corresponding to different versions of information and dynamically creating and destroying the verification process according to the number of the verification requests, the purpose of ensuring the load balance of the verification server, namely the local load balance, can be achieved.
The global load balancing is carried out through the proxy server, and the local load balancing is carried out through the verification server, so that the balance and the stability of verification can be ensured through two layers of load balancing strategies.
When the verification server is overloaded, flexible overload protection service is adopted, so that the whole framework has better flexibility.
Since at least one group of verification processes corresponds to one version information, it is easier to track the stability of the application according to whether the at least one group of verification processes feeds back the verification result.
By distributing the verification request to the message queues corresponding to different versions of information, version isolation in the verification process can be achieved, the difficulty of version compatibility is reduced, and the stability of verification is improved.
Through the surprise group effect, the load balance is achieved in a preemptive mode, and the problem that the load is not balanced due to overload and partial starvation is solved.
When calculating the second settlement result, the performance of a certain version of the logical checking library may also be analyzed in a targeted manner by using a perf (performance analysis tool), and the result of the performance analysis is displayed by the perf, so that a technician may optimize the logical checking library according to the result of the performance analysis.
The plurality of service servers can be checked in parallel, and then the checking results of the plurality of service servers are summarized, so that the time consumption of checking is saved, and the service burrs can be reduced.
Referring to fig. 15, a schematic structural diagram of a server according to an embodiment of the present application is shown. The server 1500 includes a Central Processing Unit (CPU)1501, a system memory 1504 including a Random Access Memory (RAM)1502 and a Read Only Memory (ROM)1503, and a system bus 1505 connecting the system memory 1504 and the central processing unit 1501. The server 1500 also includes a basic input/output system (I/O system) 1506, which facilitates transfer of information between various devices within the computer, and a mass storage device 1507 for storing an operating system 1513, application programs 1514, and other program modules 1515.
The basic input/output system 1506 includes a display 1508 for displaying information and an input device 1509 such as a mouse, keyboard, etc. for inputting information by a user. Wherein a display 1508 and an input device 1507 are connected to the central processing unit 1501 via an input output controller 1510 connected to the system bus 1505. The basic input/output system 1506 may also include an input/output controller 1510 for receiving and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, the input-output controller 1510 also provides output to a display screen, a printer, or other type of output device.
The mass storage device 1507 is connected to the central processing unit 1501 through a mass storage controller (not shown) connected to the system bus 1505. The mass storage device 1509 and its associated computer-readable media provide non-volatile storage for the server 1500. That is, mass storage device 1509 may include a computer-readable medium (not shown) such as a hard disk or CD-ROM drive.
Without loss of generality, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that computer storage media is not limited to the foregoing. The system memory 1504 and mass storage device 1507 described above may be collectively referred to as memory.
According to various embodiments of the present application, server 1500 may also operate as a remote computer connected to a network via a network, such as the Internet. That is, the server 1500 may be connected to the network 1512 through the network interface unit 1511 connected to the system bus 1505, or may be connected to other types of networks or remote computer systems (not shown) using the network interface unit 1511.
The memory further includes one or more programs, the one or more programs are stored in the memory, and the one or more programs are used for executing the running data verification method of the application provided by the above embodiment.
An embodiment of the present application provides a computer-readable storage medium, in which at least one instruction, at least one program, a code set, or a set of instructions is stored, and the at least one instruction, the at least one program, the code set, or the set of instructions is loaded and executed by the processor to implement the running data checking method of the application as described above.
One embodiment of the present application provides a verification server, which includes a processor and a memory, where the memory stores at least one instruction, and the instruction is loaded and executed by the processor to implement the running data verification method of the application as described above.
It should be noted that: in the above embodiment, when the running data verification apparatus for an application performs running data verification on the application, only the division of each functional module is used as an example, in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the running data verification apparatus for an application is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the running data verification apparatus for an application and the running data verification method for an application provided in the above embodiments belong to the same concept, and specific implementation processes thereof are described in detail in the method embodiments and are not described herein again.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description should not be taken as limiting the embodiments of the present application, and any modifications, equivalents, improvements, etc. made within the spirit and principle of the embodiments of the present application should be included in the scope of the embodiments of the present application.

Claims (14)

1. A method for verifying running data of an application is used in a verification server deployed with a verification process, and the verification server is connected with a service server deployed with a service process, and the method comprises the following steps:
receiving a verification request sent by the service process in the service server, wherein the verification request carries running data of an application corresponding to the service process;
when the verification request carries the version information of the application and the verification server is provided with a verification process corresponding to each version information, selecting the verification process from the verification processes corresponding to the version information in the verification request;
verifying the running data through the verification process to obtain a verification result;
and sending the check result to the service process in the service server, wherein the service process is used for determining whether the operation data is tampered according to the check result.
2. The method of claim 1, further comprising: for each version information, creating a message queue and a verification process corresponding to the version information;
the selecting the verification process from the verification processes corresponding to the version information in the verification request includes: selecting a message queue corresponding to the version information in the verification request from the created message queues; adding the check request to the selected message queue; and triggering a check process corresponding to the message queue to rob check right, wherein the check process with the check right in the check process is used for reading the check request from the message queue.
3. The method of claim 2, wherein the creating a message queue and a verification process corresponding to the version information comprises:
creating a message queue corresponding to the version information;
creating a verification process; and for the verification process, controlling the verification process to load a verification logic library corresponding to the version information, wherein the verification logic library is used for providing the running logic of the application corresponding to the version information.
4. The method of claim 2, wherein adding the check request to the selected message queue comprises:
detecting whether the check server meets an overload condition;
adding the check request to the selected message queue when it is determined that the check server does not satisfy the overload condition.
5. The method of claim 2, further comprising:
detecting whether the check server meets an overload condition;
and when the verification server is determined to meet the overload condition, discarding the verification request, and when the service server is not used for receiving the verification result after the verification duration, determining that the verification result is successful.
6. The method of claim 2, wherein adding the check request to the selected message queue comprises:
detecting whether the selected message queue is shielded or not, wherein the message queue is shielded when the application corresponding to the version information is unstable;
adding the check request to the message queue when it is determined that the selected message queue is unmasked.
7. The method of claim 2, further comprising:
detecting whether the selected message queue is shielded or not, wherein the message queue is shielded when the application corresponding to the version information is unstable;
and when the selected message queue is determined to be shielded, discarding the verification request and generating alarm information for prompting that the application corresponding to the version information is unstable, wherein the service server is used for determining that the verification result is successful when the verification result is not received after the verification duration.
8. The method of claim 2, wherein after said adding said check request to said selected message queue, further comprising:
acquiring the queue length of the selected message queue;
and when the queue length meets the length condition, newly establishing at least one checking process in the checking processes corresponding to the message queue.
9. The method of claim 2, further comprising:
monitoring each checking process in an idle state;
and when the verification process in the idle state meets the destruction condition, destroying the verification process.
10. The method according to any one of claims 1 to 9, wherein the verifying the running data by the verification process comprises:
reading opening information, operation data and a first result of calculation in the running data, wherein the operation data is used for recording various operations of a user on the application according to an operation sequence, and the first result of calculation is obtained by the running logic of the application, the opening information and the operation data;
calculating the opening information and the operation data by using the operation logic to obtain a second settlement result;
when the second settlement result is the same as the first settlement result, generating a verification result for indicating that the verification is successful;
generating a verification result indicating verification failure when the second settlement result is different from the first settlement result.
11. The method of claim 1, wherein the application is a game-like application.
12. An apparatus for verifying running data of an application, the apparatus being used in a verification server deployed with a verification process, the verification server being connected to a service server deployed with a service process, the apparatus comprising:
a receiving module, configured to receive a verification request sent by the service process in the service server, where the verification request carries running data of an application corresponding to the service process;
a selection module, configured to select a verification process from the verification processes corresponding to the version information in the verification request when the verification request carries the version information of the application and a verification process corresponding to each version information is deployed in the verification server;
the checking module is used for checking the running data through the checking process to obtain a checking result;
and the sending module is used for sending the check result obtained by the check module to the service process in the service server, and the service process is used for determining whether the running data is tampered according to the check result.
13. A computer readable storage medium having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement a method of running data verification of an application as claimed in any one of claims 1 to 11.
14. A validation server comprising a processor and a memory, the memory having stored therein at least one instruction that is loaded and executed by the processor to implement a method of validating operational data of an application as claimed in any one of claims 1 to 11.
CN201810272223.1A 2018-03-29 2018-03-29 Application running data verification method and device, storage medium and server Active CN108479061B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810272223.1A CN108479061B (en) 2018-03-29 2018-03-29 Application running data verification method and device, storage medium and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810272223.1A CN108479061B (en) 2018-03-29 2018-03-29 Application running data verification method and device, storage medium and server

Publications (2)

Publication Number Publication Date
CN108479061A CN108479061A (en) 2018-09-04
CN108479061B true CN108479061B (en) 2021-06-01

Family

ID=63316984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810272223.1A Active CN108479061B (en) 2018-03-29 2018-03-29 Application running data verification method and device, storage medium and server

Country Status (1)

Country Link
CN (1) CN108479061B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968888B (en) * 2018-09-30 2022-03-08 北京国双科技有限公司 Data processing method and device
CN111061242A (en) * 2018-10-16 2020-04-24 联合汽车电子有限公司 Calibration system and method for motor controller of electric vehicle
CN109771939B (en) * 2019-01-15 2022-07-12 网易(杭州)网络有限公司 Game server adjusting method and device, storage medium and electronic equipment
CN109939441B (en) * 2019-03-14 2023-03-14 深圳市腾讯信息技术有限公司 Application multi-disk verification processing method and system
CN111027977A (en) * 2019-11-22 2020-04-17 中汇信息技术(上海)有限公司 Data verification method and device and electronic equipment
CN114531251A (en) * 2020-10-30 2022-05-24 开物成务(北京)科技发展有限公司 Detection and protection method for operable resources of workload
CN112422243B (en) * 2020-11-22 2021-08-13 广州技象科技有限公司 Data transmission method and device based on process optimization
CN114615073A (en) * 2022-03-22 2022-06-10 广州方硅信息技术有限公司 Access flow control method, device, equipment and medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013151369A1 (en) * 2012-04-06 2013-10-10 (주)네오위즈게임즈 Method and system for providing game service using virtual ip in pc gaming center
CN104184709A (en) * 2013-05-23 2014-12-03 腾讯科技(深圳)有限公司 Verification method, device, server, service data center and system
CN105491067A (en) * 2016-01-08 2016-04-13 腾讯科技(深圳)有限公司 Key-based business security verification method and device
CN105641930A (en) * 2015-12-28 2016-06-08 网易(杭州)网络有限公司 Game data calibrating method and device
CN105989254A (en) * 2015-02-12 2016-10-05 深圳积友聚乐科技有限公司 Remote password verification system and method based on touch screen and electronic equipment
CN106390459A (en) * 2016-09-19 2017-02-15 腾讯科技(深圳)有限公司 A game data acquiring method and device
CN107213634A (en) * 2017-06-13 2017-09-29 北京凯罗天下科技有限公司 A kind of game user management method, game server and system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013151369A1 (en) * 2012-04-06 2013-10-10 (주)네오위즈게임즈 Method and system for providing game service using virtual ip in pc gaming center
CN104184709A (en) * 2013-05-23 2014-12-03 腾讯科技(深圳)有限公司 Verification method, device, server, service data center and system
CN105989254A (en) * 2015-02-12 2016-10-05 深圳积友聚乐科技有限公司 Remote password verification system and method based on touch screen and electronic equipment
CN105641930A (en) * 2015-12-28 2016-06-08 网易(杭州)网络有限公司 Game data calibrating method and device
CN105491067A (en) * 2016-01-08 2016-04-13 腾讯科技(深圳)有限公司 Key-based business security verification method and device
CN106390459A (en) * 2016-09-19 2017-02-15 腾讯科技(深圳)有限公司 A game data acquiring method and device
CN107213634A (en) * 2017-06-13 2017-09-29 北京凯罗天下科技有限公司 A kind of game user management method, game server and system

Also Published As

Publication number Publication date
CN108479061A (en) 2018-09-04

Similar Documents

Publication Publication Date Title
CN108479061B (en) Application running data verification method and device, storage medium and server
US10594488B2 (en) Method and system for implementing automatic transaction rebroadcasting for transient blockchains
Zhang et al. {REM}:{Resource-Efficient} mining for blockchains
CN110959281B (en) Method and system for securing blockchains using transaction attestation
Wilczyński et al. Modelling and simulation of security-aware task scheduling in cloud computing based on Blockchain technology
CN109481936B (en) Block chain accounting node selection method and device and computer readable storage medium
US10092845B2 (en) Detecting lag switch cheating in game
CN110830735B (en) Video generation method and device, computer equipment and storage medium
US11040285B1 (en) Secure anti-cheat system
CN109753269B (en) Random number generation method, device, equipment and storage medium for block chain
CN110064202B (en) Game method, equipment and storage medium
CN110585723B (en) Cheating user detection method, device and equipment based on block chain and storage medium
CN104660557B (en) operation processing method and device
US20100255917A1 (en) Game system, game apparatus, game server, and recording medium recorded with a program for games
CN111659126B (en) Distribution method, device, server, terminal and storage medium of matching process
CN109499069B (en) Operation result checking method and device, storage medium and electronic device
Mönch et al. Protecting online games against cheating
CN107493326B (en) Network voting processing method, device, server and computer readable storage medium
CN114504827A (en) Method, system, electronic device and storage medium for verifying cheating of battle game
Hu et al. Security issues in massive online games
CN111202987A (en) Login control method and device for game application
CN116570928A (en) Information processing method, device and server based on NFT
CN110099051B (en) Detection method and device for stuck risk and electronic equipment
CN114047918A (en) Task processing method, device, equipment, storage medium and product
JP6412667B1 (en) Server, method, and program for providing game

Legal Events

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