Data processing methods, devices, equipment, and readable storage media based on blockchain.
By introducing blockchain technology into game matchmaking, and using evaluation smart contracts and matching smart contracts to identify competitors, the problem of malicious players exploiting matchmaking issues has been solved, resulting in a more accurate and transparent matchmaking process and increased game activity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2022-07-04
- Publication Date
- 2026-06-30
AI Technical Summary
The existing game matchmaking system is easily exploited by malicious players, resulting in low accuracy and fairness in matchmaking and affecting game activity.
By introducing blockchain technology, evaluation parameters of objects are obtained through evaluation smart contracts, and competing objects are determined in the matching pool using matching smart contracts, ensuring the accuracy and security of evaluation parameters and realizing an open and transparent matching process.
This improves the accuracy and transparency of game matchmaking, thereby increasing game activity.
Smart Images

Figure CN117379800B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a data processing method, apparatus, device, and readable storage medium based on blockchain. Background Technology
[0002] The rapid development of electronic device technologies and the widespread adoption of the internet have provided the gaming industry, which relies on electronic devices, with a tremendous opportunity for growth. In particular, the emergence of smart terminals such as smartphones and tablets has further highlighted the gaming industry's development potential.
[0003] Currently, some games (such as player-versus-player (PVP) games) rely on various matchmaking algorithms to match players (or entities). However, existing matchmaking mechanisms are opaque, making them vulnerable to unfair matchmaking by malicious players (e.g., matching a skilled player with a weaker one). This results in a significant skill gap between the matched players, leading to low accuracy and fairness in the matchmaking process, which severely impacts game activity. Summary of the Invention
[0004] This application provides a data processing method, apparatus, device, and readable storage medium that can support open and transparent game matching in game matching services, improve the accuracy of game matching, and thus increase game activity.
[0005] One embodiment of this application provides a blockchain-based data processing method, including:
[0006] Get the first object matching request sent by the first node for the first object;
[0007] Based on the first object matching request, the evaluation smart contract in the blockchain is invoked, and the first evaluation parameters of the first object are obtained in the blockchain through the evaluation smart contract;
[0008] The matching smart contract in the blockchain is invoked based on the first evaluation parameters. The second evaluation parameters corresponding to the N second objects contained in the matching pool are obtained through the matching smart contract; N is a positive integer.
[0009] Determine the parameter differences between N second evaluation parameters and the first evaluation parameter, and determine the competing objects of the first object from among the N second objects contained in the matching pool based on the N parameter differences; the second evaluation parameters of the competing objects are matched with the first evaluation parameters.
[0010] One embodiment of this application provides a blockchain-based data processing device, including:
[0011] The request retrieval module is used to retrieve the first object matching request sent by the first node for the first object;
[0012] The parameter acquisition module is used to call the evaluation smart contract in the blockchain based on the first object matching request, and obtain the first evaluation parameters of the first object in the blockchain through the evaluation smart contract;
[0013] The parameter acquisition module is also used to call the matching smart contract in the blockchain based on the first evaluation parameters, and obtain the second evaluation parameters corresponding to the N second objects contained in the matching pool through the matching smart contract; N is a positive integer;
[0014] The difference determination module is used to determine the parameter differences between the N second evaluation parameters and the first evaluation parameters, respectively.
[0015] The competitor determination module is used to determine the competitors of the first object from among the N second objects contained in the matching pool based on the differences of N parameters; the second evaluation parameters of the competitors are matched with the first evaluation parameters.
[0016] In one embodiment, the blockchain-based data processing device may further include:
[0017] The match details acquisition module is used to acquire match details information between the first object and the competitor when the match ends.
[0018] The rule acquisition module is used to call the evaluation smart contract based on the game details information, and obtain the evaluation parameters update rules through the evaluation smart contract;
[0019] The update parameter determination module is used to determine the update evaluation parameters of the first object based on the evaluation parameter update rules, game details information, and the first evaluation parameters;
[0020] The record block generation module is used to generate an evaluation parameter record block based on the first object, the competing object, the game details information, the first evaluation parameter, the updated evaluation parameter, and the second evaluation parameter of the competing object;
[0021] The block adding module is used to add evaluation parameter record blocks to the blockchain. The evaluation parameter record blocks added to the blockchain are used to determine the update competitor for the first object based on the update evaluation parameters in the evaluation parameter record blocks when receiving an update object matching request for the first object sent by the first node. The evaluation parameters of the update competitor are matched with the update evaluation parameters.
[0022] In one embodiment, the parameter update determination module may include:
[0023] The winning object determination unit is used to determine the winning object in the game between the first object and the competing object based on the game result in the game details information;
[0024] The parameter enhancement unit is used to enhance the first evaluation parameter based on the evaluation parameter update rule, the second evaluation parameter of the competitor and the first evaluation parameter if the winning object of the game is the first object, so as to obtain the updated evaluation parameter of the first object.
[0025] The parameter reduction unit is used to reduce the first evaluation parameter based on the evaluation parameter update rule, the second evaluation parameter of the competitor and the first evaluation parameter if the winning opponent in the game is a competitor, so as to obtain the updated evaluation parameter of the first opponent.
[0026] In one embodiment, the parameter boosting unit may include:
[0027] The first difference determination subunit is used to determine the absolute value of the first difference between the second evaluation parameter and the first evaluation parameter of the competitor based on the evaluation parameter update rule;
[0028] The first parameter comparison subunit is used to compare the second evaluation parameter of the competitor with the first evaluation parameter.
[0029] The parameter enhancement subunit is used to obtain the first reward parameter in the evaluation parameter update rule if the second evaluation parameter of the competitor is greater than the first evaluation parameter and the absolute value of the first difference is greater than the difference threshold, and then enhance the first evaluation parameter according to the first reward parameter to obtain the updated evaluation parameter of the first object.
[0030] The parameter enhancement subunit is also used to obtain the second reward parameter in the evaluation parameter update rule if the second evaluation parameter of the competitor is greater than the first evaluation parameter and the absolute value of the first difference is less than the difference threshold, and then enhance the first evaluation parameter according to the second reward parameter to obtain the updated evaluation parameter of the first object; the first reward parameter is greater than the second reward parameter.
[0031] The parameter enhancement subunit is also used to obtain the third reward parameter in the evaluation parameter update rule if the second evaluation parameter of the competitor is less than the first evaluation parameter and the absolute value of the first difference is greater than the difference threshold, and to enhance the first evaluation parameter according to the third reward parameter to obtain the updated evaluation parameter of the first object; the third reward parameter is less than the second reward parameter.
[0032] The parameter enhancement subunit is also used to obtain the fourth reward parameter in the evaluation parameter update rule if the second evaluation parameter of the competitor is less than the first evaluation parameter and the absolute value of the first difference is less than the difference threshold, and to enhance the first evaluation parameter according to the fourth reward parameter to obtain the updated evaluation parameter of the first object; the fourth reward parameter is greater than the third reward parameter and less than the second reward parameter.
[0033] In one embodiment, the parameter reduction unit may include:
[0034] The second difference determination subunit is used to determine the absolute value of the first difference between the second evaluation parameter and the first evaluation parameter of the competitor based on the evaluation parameter update rule;
[0035] The second parameter comparison subunit is used to compare the second evaluation parameter of the competitor with the first evaluation parameter.
[0036] The parameter reduction subunit is used to obtain the first penalty parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is less than the first evaluation parameter and the absolute value of the first difference is greater than the difference threshold, and then reduce the first evaluation parameter according to the first penalty parameter to obtain the updated evaluation parameter of the first object.
[0037] The parameter reduction subunit is also used to obtain the second penalty parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is less than the first evaluation parameter and the absolute value of the first difference is less than the difference threshold, and then reduce the first evaluation parameter according to the second penalty parameter to obtain the updated evaluation parameter of the first object; the first penalty parameter is greater than the second penalty parameter.
[0038] The parameter reduction subunit is also used to obtain the third penalty parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is greater than the first evaluation parameter and the absolute value of the first difference is greater than the difference threshold, and then reduce the first evaluation parameter according to the third penalty parameter to obtain the updated evaluation parameter of the first object; the second penalty parameter is greater than the third penalty parameter.
[0039] The parameter reduction subunit is also used to obtain the fourth penalty parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is greater than the first evaluation parameter and the absolute value of the first difference is less than the difference threshold, and then reduce the first evaluation parameter according to the fourth penalty parameter to obtain the updated evaluation parameter of the first object; the fourth penalty parameter is greater than the third penalty parameter and the fourth penalty parameter is less than the second penalty parameter.
[0040] In one embodiment, a second object corresponds to a second object matching request sent by a second node; the request sending time of each second object matching request is earlier than the request sending time of the first object matching request.
[0041] The competitor identification module may include:
[0042] The absolute value of the difference is determined by matching smart contracts to determine the absolute value of each parameter difference among N parameter differences, thereby obtaining N second absolute values of the difference.
[0043] The minimum absolute value determination unit is used to determine the minimum value among N second difference absolute values as the minimum difference absolute value;
[0044] The first competing object determination unit is used to determine the second object corresponding to the minimum absolute value of the difference among N second objects as the competing object of the first object if the minimum absolute value of the difference is less than the difference matching threshold.
[0045] In one embodiment, the competitor determination module may further include:
[0046] The first object addition unit is used to add the first object to the matching pool if the absolute value of the minimum difference is greater than the difference matching threshold.
[0047] The evaluation parameter acquisition unit is used to, upon receiving third object matching requests sent by K third nodes respectively, invoke the evaluation smart contract in the blockchain based on the K third object matching requests, and obtain the third evaluation parameters of the third object for each third object matching request from the blockchain through the evaluation smart contract; K is a positive integer;
[0048] The second competitor determination unit is used to determine the competitors of the first object from among K third objects based on the first evaluation parameters and K third evaluation parameters.
[0049] In one embodiment, the competitor determination module may further include:
[0050] The second object addition unit is used to add the first object to the matching pool if the absolute value of the minimum difference is greater than the difference matching threshold.
[0051] The system block addition unit is used to generate system matching transactions when the system time reaches the mandatory matching time, generate system matching blocks based on the system matching transactions, and add the system matching blocks to the blockchain;
[0052] The block height acquisition unit is used to acquire the system block height of the system matching block in the blockchain, and the object block height corresponding to the first object in the matching pool; the object block height refers to the block height of the request block in the blockchain, and the request block refers to the block generated based on the first object matching request when the first object matching request is acquired;
[0053] The third competing object determination unit is used to determine the competing object of the first object from the current objects contained in the matching pool based on the system block height and the object block height.
[0054] In one embodiment, the number of current objects is at least two;
[0055] The third competing entity determination unit may include:
[0056] The height difference determination subunit is used to determine the absolute value of the height difference between the system block height and the object block height.
[0057] The first object determination subunit is used to obtain the current evaluation parameters corresponding to at least two current objects if the absolute value of the height difference is greater than the height threshold, determine the absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter, and determine the current object corresponding to the smallest absolute value of the parameter difference among the at least two absolute values of the parameter difference as the competing object of the first object.
[0058] The second object determination subunit is used to determine the first object as a continuously pending match object if the absolute value of the height difference is less than the height threshold. Based on the fourth evaluation parameters of the fourth objects targeted by the Q received fourth object matching requests, and the first evaluation parameters, it determines the competing objects of the first object among the Q fourth objects. Each fourth object matching request refers to an object matching request sent by the fourth node for the fourth object. The request sending time of each fourth object matching request is later than the request sending time of the first object matching request. Q is a positive integer.
[0059] In one embodiment, the third competitor determination unit may further include:
[0060] The matching frequency acquisition sub-unit is used to acquire the forced matching frequency corresponding to the first object if the absolute value of the height difference is greater than the height threshold.
[0061] The step execution subunit is used to perform the following steps if the forced matching frequency is greater than the frequency threshold: obtaining the current evaluation parameters corresponding to at least two current objects respectively, determining the absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter, and determining the current object corresponding to the minimum absolute value of the parameter difference among the at least two parameter difference absolute values as the competing object of the first object.
[0062] In one embodiment, the blockchain-based data processing device may further include:
[0063] The query request acquisition module is used to receive the evaluation parameter query request for the first object sent by the first node;
[0064] The associated block acquisition module is used to obtain a set of parameter-associated blocks in the blockchain that are associated with the first object based on the evaluation parameter query request; each parameter-associated block in the parameter-associated block set refers to a parameter record block that contains the first object and the evaluation parameters of the first object; the evaluation parameters of the first object include the first evaluation parameters;
[0065] The generation time acquisition module is used to obtain the generation time of each block associated with each parameter, and obtain a set of block generation times;
[0066] The block sorting module is used to sort the parameter-associated blocks contained in the parameter-associated block set according to the time order of the block generation time set, so as to obtain the associated block sequence.
[0067] The block return module is used to return the associated block sequence to the first node.
[0068] One embodiment of this application provides a computer device, including: a processor and a memory;
[0069] The memory stores a computer program, which, when executed by a processor, causes the processor to perform the methods described in the embodiments of this application.
[0070] One aspect of this application provides a computer-readable storage medium storing a computer program, which includes program instructions. When executed by a processor, the program instructions perform the methods described in this application.
[0071] One aspect of this application provides a computer program product comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the method provided in one aspect of the embodiments of this application.
[0072] In this embodiment, blockchain is introduced into the game matching business. An evaluation smart contract on the blockchain is used to maintain the evaluation parameters of a certain object in the game business, and a matching smart contract on the blockchain is used to maintain the object matching pool. Therefore, based on the object's evaluation parameters in the blockchain, objects initiating object matching requests can be matched in the matching pool. Specifically, when an object matching request (e.g., a first object matching request) is received from a node (e.g., a first node), the evaluation smart contract in the blockchain can be invoked to obtain the first evaluation parameters of the first object. Simultaneously, the matching smart contract can be invoked to obtain the second evaluation parameters corresponding to N second objects. The matching smart contract can determine the parameter difference between each second evaluation parameter and the first evaluation parameter. Based on the N parameter differences, the competing objects of the first object can be determined (the second evaluation parameters of the competing objects match those of the first object). It should be understood that, due to the immutability and tamper-proof nature of blockchain, using smart contracts to maintain the evaluation parameters of objects in the game can significantly improve the accuracy and security of these parameters. When the evaluation parameters possess high accuracy and security, matching games on the blockchain based on these accurate parameters can greatly enhance matching accuracy. Blockchain can support the openness and transparency of game matching, allowing all parties to trace the evaluation parameters and the specific matching process, thereby improving the accuracy of object matching and ultimately increasing game activity. In summary, this application can support the openness and transparency of game matching in the game matching business, improve the accuracy of game matching, and thus increase game activity. Attached Figure Description
[0073] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0074] Figure 1 This is a network architecture diagram provided in an embodiment of this application;
[0075] Figure 2 This is a flowchart illustrating a blockchain-based data processing method provided in an embodiment of this application;
[0076] Figure 3 This is a schematic diagram illustrating the sorting of objects to be matched within a matching pool, as provided in an embodiment of this application.
[0077] Figure 4This is a schematic diagram illustrating forced matching based on block height, provided in an embodiment of this application.
[0078] Figure 5 This is a schematic diagram of a process for recording evaluation parameters in a blockchain, provided in an embodiment of this application;
[0079] Figure 6 This is a schematic diagram of the structure of a blockchain-based data processing device provided in an embodiment of this application;
[0080] Figure 7 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0081] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0082] The solutions provided in this application involve blockchain and related technologies. For ease of understanding, the following will first explain blockchain and related concepts.
[0083] 1. Blockchain: In a narrow sense, blockchain is a chain-like data structure with blocks as the basic unit. Digital digests are used in blocks to verify previously obtained transaction history, making it suitable for the tamper-proof and scalable requirements of distributed ledger scenarios. In a broader sense, blockchain also refers to the distributed ledger technology implemented using the blockchain structure, including distributed consensus, privacy and security protection, peer-to-peer communication technology, network protocols, and smart contracts. The goal of blockchain is to realize a distributed data record ledger that only allows additions, not deletions. The underlying basic structure of the ledger is a linear linked list. The linked list consists of a series of "blocks," with each subsequent block recording the hash value of the previous block. The validity of each block (and the transactions within it) can be quickly verified by calculating the hash value. If a node in the network proposes to add a new block, the block must be confirmed through a consensus mechanism.
[0084] 2. Blockchain Nodes: Blockchain networks divide nodes into consensus nodes (also known as core nodes) and synchronization nodes (which can include data nodes and light nodes). Consensus nodes are responsible for the consensus process across the entire blockchain network; synchronization nodes are responsible for synchronizing the ledger information of the consensus nodes, i.e., synchronizing the latest block data. Both consensus and synchronization nodes include network communication components in their internal structure, because a blockchain network is essentially a peer-to-peer (P2P) network, requiring communication with other nodes in the blockchain network through P2P components. Resources and services in the blockchain network are distributed across various nodes; information transmission and service implementation occur directly between nodes, without the need for intermediaries or centralized servers (third parties).
[0085] 3. Public Key and Private Key: A public key and a private key are a key pair (one public key and one private key) obtained through an algorithm. The public key is the publicly known part of the key pair, while the private key is the private key. Public keys are typically used for encrypting data, verifying digital signatures, etc. This algorithm ensures that the resulting key pair is unique. When using this key pair, if data is encrypted with one key, it must be decrypted with the other key. For example, data encrypted with the public key must be decrypted with the private key, and vice versa; otherwise, decryption will fail.
[0086] 4. Hash Value: Also known as an information feature value or characteristic value, a hash value is generated by converting input data of arbitrary length into cryptographic data and producing a fixed output using a hash algorithm. The original input data cannot be retrieved by decrypting the hash value; it is a one-way cryptographic function. In a blockchain, each block (except the initial block) contains the hash value of its predecessor block, which is called the parent block of the current block. The hash value is a core and crucial aspect of blockchain technology, preserving the authenticity of recorded and viewed data, as well as the integrity of the blockchain as a whole.
[0087] 5. Smart Contract: A smart contract is a computer protocol designed to disseminate, verify, or execute contracts in an informational manner. In a blockchain system, a smart contract (or simply contract) is code that all nodes on the blockchain can understand and execute, capable of performing arbitrary logic and producing results. In practical applications, smart contracts are managed and tested through transactions on the blockchain. Each transaction is equivalent to a Remote Procedure Call (RPC) request to the blockchain system. If a smart contract is like an executable program, the blockchain is like the operating system that provides the runtime environment. A blockchain can contain multiple contracts, distinguished by contract identity (ID), identifier, or name. For example, a smart contract may contain a governance consensus committee contract, which is mainly used to manage consensus nodes and may include recording the node status of consensus nodes, dynamically adding consensus nodes, and removing abnormal consensus nodes.
[0088] 6. A wallet is used to provide the function of trading digital assets, including initiating transactions (i.e., sending the transaction record of the current transaction to other nodes in the blockchain system. After the other nodes verify the transaction successfully, they store the transaction record data in the temporary block of the blockchain as a response to acknowledge the validity of the transaction. Of course, the wallet also supports querying the remaining digital assets (or digital resources) in the digital asset address (also known as the digital resource address).
[0089] Please see Figure 1 , Figure 1 This is a network architecture diagram provided in an embodiment of this application. For example... Figure 1As shown, the blockchain-based data processing method provided in this application can be applied to blockchain networks. A blockchain network comprises nodes that record and query data blocks on the blockchain. Each node in the blockchain network is a blockchain node, a computer device capable of querying or recording data blocks. Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. It is primarily used to organize data in chronological order and encrypt it into a ledger, making it tamper-proof and forgery-proof. It also allows for data verification, storage, and updating. Essentially, a blockchain is a decentralized database where each node stores the same blockchain. The blockchain network classifies nodes into core nodes, data nodes, and light nodes. Core nodes are responsible for the consensus of the entire blockchain network; in other words, core nodes are the consensus nodes in the blockchain network. The process of writing transaction data into the ledger in a blockchain network can be as follows: the client sends transaction data to a data node or light node, and then the transaction data is passed between data nodes or light nodes in the blockchain network in a relay manner until the consensus node receives the transaction data. The consensus node then packages the transaction data into a block and conducts consensus with other consensus nodes. After the consensus is passed, the block carrying the transaction data is written into the ledger.
[0090] It is understood that a blockchain system can include smart contracts. A smart contract in the blockchain system can be understood and executed by all nodes (including consensus nodes), capable of executing arbitrary logic and obtaining results. Users can initiate a transaction request through a client, invoking a smart contract already deployed on the blockchain. Subsequently, data nodes or light nodes on the blockchain can send the transaction request to the consensus nodes, and each consensus node can run the smart contract. It should be understood that a blockchain can include one or more smart contracts, which can be distinguished by an identity document (ID) or name. The transaction request initiated by the client can also carry the smart contract's identity document or name, thus specifying the smart contract that the blockchain needs to run. If the smart contract specified by the client requires reading data, each consensus node will access its local ledger to read the data. Finally, each consensus node will verify whether the execution results are consistent (i.e., reach consensus). If they are consistent, the execution result can be stored in its respective local ledger and returned to the client.
[0091] like Figure 1As shown, the network architecture may include a terminal device cluster 10 and a blockchain network, wherein the blockchain network may include a core node (consensus node) cluster 1000 and a data node or light node cluster 100. The core node cluster 1000 may include at least two core nodes, and the data node cluster 100 may include at least two data nodes. Figure 1 As shown, the core node cluster 1000 may include core node 1000a, core node 1000b, ..., core node 1000n; the data node cluster 100 may specifically include data node 100a, data node 100b, ..., data node 100n; and the terminal device cluster 10 may specifically include terminal device 10a, terminal device 10b, ..., terminal device 10n.
[0092] like Figure 1 As shown, terminal devices 10a, 10b, ..., 10n can be network connected to data nodes 100a, 100b, ..., 100n respectively, so that the terminal devices can interact with the data nodes through the network connection; data nodes 100a, 100b, ..., 100n can be network connected to core nodes 1000a, 1000b, ..., 1000n respectively, so that the data nodes can interact with the core nodes through the network connection; data nodes 100a, 100b, ..., 100n are interconnected to enable data interaction between data nodes; core nodes 1000a, 1000b, ..., 1000n are interconnected to enable data interaction between core nodes.
[0093] Taking terminal device 10a, data node 100a, and core node 1000a as an example, data node 100a can receive a transaction request sent by terminal device 10a (the transaction request carries the ID or name of the smart contract). Subsequently, data node 100a can send the transaction request to core node 1000a through data node cluster 100. Core node 1000a can run the smart contract and execute the transaction through the smart contract. After obtaining the execution result, it can store the execution result in a memory pool (such as a transaction pool) and generate a new block based on the execution result. Subsequently, core node 1000a can send the newly generated block to other core nodes in its blockchain network based on the node identifier of other core nodes (i.e., consensus nodes). The other core nodes will verify the newly generated block (i.e., reach consensus) and add the newly generated block to their stored blockchain after verification (that is, store the execution result in the blockchain after consensus is reached). Each core node in the blockchain network has its own corresponding node identifier, and each core node can also store the node identifiers of other core nodes in the blockchain network. This allows the generated blocks to be broadcast to other core nodes in the blockchain network based on the node identifiers of other core nodes, ensuring that the data stored on all core nodes in the blockchain network is consistent.
[0094] Among them, such as Figure 1 The terminal devices shown can be desktop or mobile terminals used by the business party generating transaction information. Specifically, they can be smart terminals with data processing capabilities, such as smartphones, tablets, laptops, desktop computers, smart TVs, smart speakers, smartwatches, and smart vehicle terminals, but are not limited to these. After user authorization, the transaction information (transaction data) generated by the terminal device can be transmitted to the consensus node via data nodes or light nodes. The consensus node can record the transaction information (transaction data) generated by the terminal device on the blockchain. Any data node in the data node cluster 100 can be implemented using an independent server or a server cluster composed of multiple servers. Similarly, any core node in the core node cluster 1000 can be implemented using an independent server or a server cluster composed of multiple servers.
[0095] Taking terminal device 10a, data node 100a, and core node 1000a as an example, data node 100a can receive a transaction request sent by terminal device 10a (the transaction request carries the ID or name of the smart contract). Subsequently, data node 100a can send the transaction request to core node 1000a through data node cluster 100. Core node 1000a can run the smart contract and execute the transaction through the smart contract. After obtaining the execution result, it can store the execution result in a memory pool (such as a transaction pool) and generate a new block based on the execution result. Subsequently, core node 1000a can send the newly generated block to other core nodes in its blockchain network based on the node identifier of other core nodes (i.e., consensus nodes). The other core nodes will verify the newly generated block (i.e., reach consensus) and add the newly generated block to their stored blockchain after verification (that is, store the execution result in the blockchain after consensus is reached). Each core node in the blockchain network has its own corresponding node identifier, and each core node can also store the node identifiers of other core nodes in the blockchain network. This allows the generated blocks to be broadcast to other core nodes in the blockchain network based on the node identifiers of other core nodes, ensuring that the data stored on all core nodes in the blockchain network is consistent.
[0096] It should be understood that, such as Figure 1 Each terminal device shown can have the target application installed. When the target application runs on each terminal device, it can interact with... Figure 1 The data nodes shown interact with each other, enabling them to receive business data from each terminal device. The target application can include applications capable of displaying text, images, audio, and video data. These applications can be video applications, live streaming applications, social applications, instant messaging applications, game applications, music applications, shopping applications, novel applications, browsers, digital asset applications, digital resource applications, and so on, without further examples. The application can be a standalone application or an embedded sub-application integrated into another application (e.g., social applications, educational applications, and multimedia applications), without limitation.
[0097] It should be understood that this application embodiment applies blockchain to object matching services in a certain scenario (such as game object matching services in a game scenario). Taking a game application as an example, this application embodiment can use an evaluation smart contract in the blockchain to record and maintain the evaluation parameters (such as game rating) of all objects associated with the game application (which can be understood as players, a user's bound account in the game application), and use a matching smart contract to match objects based on the evaluation parameters recorded in the evaluation smart contract. For example, after an object (the first object) logs into the game application through terminal device 10a, if the first object triggers the "start matching" control to match another object for game battle, the terminal device 10a can generate an object matching request for the first object (which can be called the first object matching request) based on the first object's trigger operation. The terminal device 10a can send the first object matching request to a data node in the blockchain (such as data node 100a, which can be called the first node). Subsequently, data node 100a can relay the first object matching request to a core node in the blockchain (such as core node 1000a). Core node 1000a can then invoke the evaluation smart contract in the blockchain based on the first object matching request. This evaluation smart contract retrieves the current evaluation parameters (latest evaluation parameters, referred to as the first evaluation parameters) of the first object. Based on these first evaluation parameters, it can also invoke the matching smart contract in the blockchain. This matching smart contract retrieves the evaluation parameters (latest evaluation parameters, referred to as the second evaluation parameters) of the N second objects contained in the matching pool in the blockchain. Here, the matching pool can refer to a cache pool in the blockchain used to store objects to be matched, and the objects to be matched can refer to the objects waiting to be matched after an object matching request is initiated (each object to be matched in the matching pool is referred to as a second object).
[0098] Furthermore, by matching smart contracts, the parameter differences between each of the N second evaluation parameters can be determined. Based on these N parameter differences, the competitor of the first object (the object that plays against the first object in the game, i.e., the opponent of the first object) can be identified from among the N second objects. The second evaluation parameters of this identified competitor match the first evaluation parameters of the first object.
[0099] It should be understood that, in this application embodiment, the evaluation parameters and matching mechanism of game objects are maintained through smart contracts on the blockchain. The evaluation parameters of game objects can be made public on the blockchain, and the evaluation parameters of each game object are queryable and traceable. Simultaneously, game objects can also be matched with opponents whose evaluation parameters match the current evaluation parameters according to the smart contract. The entire process of evaluation parameters and matching, based on blockchain, supports traceability, which can significantly improve the accuracy and transparency of game matching.
[0100] It is understood that the methods provided in this application embodiment can be executed by computer devices, including but not limited to terminal devices or blockchain nodes. A blockchain node can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0101] The terminal devices and blockchain nodes can be connected directly or indirectly through wired or wireless communication methods, and this application does not impose any restrictions on this.
[0102] It should be noted that, in the specific embodiments of this application, user-related data such as user information and user data (e.g., the user's bound account, user's game business data, etc.) are only acquired and processed after obtaining the user's granted permissions. In other words, when the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.
[0103] For easier understanding, please refer to Figure 2 , Figure 2 This is a flowchart illustrating a blockchain-based data processing method provided in an embodiment of this application. The method can be implemented using blockchain nodes (e.g., the aforementioned...). Figure 1 The core node in the corresponding embodiment can be executed, or it can be executed by blockchain nodes and terminal devices (e.g., the aforementioned). Figure 1 The method is jointly executed by the terminal devices in the corresponding embodiments. The following explanation will use the execution of this method by a blockchain node as an example. Figure 2 As shown, the blockchain-based data processing method may include at least the following steps S101-S104:
[0104] Step S101: Obtain the first object matching request sent by the first node for the first object.
[0105] In this application, the blockchain node can be a core node in the blockchain. The core node can receive transaction data sent from data nodes or light nodes in the blockchain. This transaction data can be sent from a terminal device to a data node or light node. Specifically, this transaction data can be data generated by the terminal device based on a transaction initiated by a user. After obtaining user authorization, the terminal device can send this transaction data to a data node or light node.
[0106] Specifically, in this application, the first node can refer to a data node or a light node, and the first object can refer to a user's application-bound account in a target application (such as a game application). Taking a game application as an example, when a user runs a game application on a terminal device, they can log in to the game application through their application-bound account. Subsequently, they can initiate an object matching request against a competitor (which can be understood as an opponent in a game against the user) through the game application. (That is, the object matching request is used to request a competitor to be matched for the first object.) This object matching request can be called the first object matching request. The terminal device can obtain the first object matching request through the first object and send it to the corresponding data node (such as the first node). It is understood that the transaction data in this application can also refer to a request. For example, the object matching request (such as the first object matching request) in this application can also be understood as transaction data. After receiving the object matching request, the data node will also send the object matching request to the core node. Therefore, it is obvious that after receiving the first object matching request, the first node can also send the first object matching request to the core node.
[0107] Step S102: Based on the first object matching request, call the evaluation smart contract in the blockchain to obtain the first evaluation parameters of the first object in the blockchain through the evaluation smart contract.
[0108] In this application, evaluation parameters can refer to parameters used to evaluate the capabilities of an object (such as a user) within a target application. For example, taking a game application as an example, the higher the evaluation parameters of an object, the stronger and more capable that object is within the game application. An evaluation smart contract can refer to a smart contract in the blockchain that contains the calculation logic for the evaluation parameters of the target application. For instance, when the target application is a game application, the evaluation parameters (such as player ratings) of each object within the game application (which can be understood as players or user accounts bound to the game application; in reality, objects can actually represent users) can be calculated based on this evaluation smart contract (which contains rating calculation logic). In other words, the calculation logic for the evaluation parameters in the evaluation smart contract can vary depending on the target application, and the specific calculation logic can be deployed manually.
[0109] It should be understood that object matching in a target application (such as a game application) can be implemented based on the object's evaluation parameters. When a blockchain node receives a first object matching request, it can invoke an evaluation smart contract in the blockchain based on this request. Through this smart contract, the evaluation parameters of the first object (which can be referred to as the first evaluation parameters) can be obtained from the blockchain. Subsequently, when determining the competitors of the first object, these first evaluation parameters can be used as a basis.
[0110] In this application, the evaluation parameters of each object can be stored using a blockchain. For example, each evaluation parameter can be stored as a block. When the evaluation parameters of an object are updated, a new block can be generated to store the updated evaluation parameters. The first evaluation parameter of the first object can refer to the real-time evaluation parameter (latest evaluation parameter, also known as the current evaluation parameter) of the first object. Blockchain nodes can obtain a set of all blocks containing the evaluation parameters of the first object (referred to as the object parameter block set, each object parameter block set is used to record the evaluation parameters of one first object). Subsequently, the blockchain node can obtain the block generation time of each object parameter block in the object parameter block set, thus obtaining a block generation time set. Then, the blockchain node can obtain the maximum block generation time in the block generation time set. The object parameter block corresponding to the maximum block generation time is the block containing the latest evaluation parameters of the first object. This object parameter block can then be extracted as the target object parameter block, and the evaluation parameters of the first object recorded in the target object parameter block can be used as the aforementioned first evaluation parameter of the first object.
[0111] Of course, this is merely an example illustrating one way to obtain the first evaluation parameters of a first object in a blockchain, and in specific applications, it is not limited to this method. That is, this application will not limit the specific implementation method for obtaining the first evaluation parameters of a first object in a blockchain.
[0112] Step S103: Based on the first evaluation parameters, call the matching smart contract in the blockchain to obtain the second evaluation parameters corresponding to the N second objects contained in the matching pool; N is a positive integer.
[0113] In this application, besides the first object mentioned above initiating the first object matching request, other objects besides the first object (such as other users who can also log in to the game application through their application-bound accounts and subsequently initiate object matching requests through the game application) can be referred to as second objects. The object matching requests initiated by these other objects can be called second object matching requests. Similarly, different data nodes (which can be called second nodes) can receive different second object matching requests, and the second nodes can also send these second object matching requests to the blockchain node.
[0114] It should be understood that when an object initiates an object matching request, the blockchain node will first store it in the matching pool (the matching pool can be understood as a buffer pool used to store objects to be matched that have initiated object matching requests). This matching pool can then be used to store various objects to be matched. The blockchain node can match objects in the matching pool with similar evaluation parameters as its competitors (objects in its opposing camp) based on the evaluation parameters of each object that initiated the matching request. If, for a certain object, there is no object in the matching pool with similar evaluation parameters, the blockchain node can temporarily store that object in the matching pool. Later, when other objects initiate object matching requests, the blockchain node will then determine whether there is a matching object for that object based on the evaluation parameters of these other objects and the evaluation parameters of the current object.
[0115] In other words, the matching pool in this application is a cache pool used to store objects to be matched that initiate object matching requests. This matching pool contains second objects (objects to be matched) that initiate second object matching requests. After obtaining the first evaluation parameter of the first object, a matching smart contract can be called based on this first evaluation parameter. This smart contract retrieves the evaluation parameters (referred to as second evaluation parameters for clarity) of N (N is a positive integer) second objects in the matching pool. Based on the first and second evaluation parameters, the competing objects of the first object can be determined. The matching smart contract in this application can refer to a smart contract with matching logic. Specifically, the matching logic in this application can refer to the logic of matching based on the evaluation parameters of each object. Smart contracts with matching logic can be deployed manually.
[0116] Step S104: Determine the parameter differences between the N second evaluation parameters and the first evaluation parameters respectively; based on the N parameter differences, determine the competing objects of the first object from among the N second objects contained in the matching pool; the second evaluation parameters of the competing objects are matched with the first evaluation parameters.
[0117] In this application, by matching the matching logic in the smart contract, the parameter differences between the aforementioned N second evaluation parameters and the first evaluation parameter can be determined. Based on these N parameter differences, the competing object of the first object can be identified among the N second objects contained in the matching pool. As mentioned above, after different second objects initiate different second object matching requests, they can be forwarded to the core node (blockchain node) by different data nodes (second nodes). That is to say, each of the aforementioned N second objects can correspond to a second object matching request sent by a second node. Taking the example that the request time of each second object matching request is earlier than the request time of the first object matching request, if none of these second objects are matched with a competing object whose evaluation parameters match, then when the blockchain node receives the first object matching request sent by the first object, these second objects will be cached in the matching pool as objects to be matched.
[0118] When a second object matching request is sent before a first object matching request, the blockchain node, upon receiving the first object matching request, will prioritize identifying the competitor of the first object from among the N second objects contained in the matching pool. The specific implementation for determining the competitor of the first object from the N second objects in the matching pool based on the differences of N parameters can be as follows: The absolute value corresponding to each of the N parameter differences can be determined through a matching smart contract, resulting in N absolute values of the second differences. Subsequently, the minimum value among the N absolute values of the second differences can be determined as the minimum absolute value of the difference. If the minimum absolute value of the difference is less than the difference matching threshold, then the second object corresponding to the minimum absolute value of the difference among the N second objects can be identified as the competitor of the first object.
[0119] It should be understood that the second evaluation parameter corresponding to the minimum absolute value of the difference is the second evaluation parameter among the N second evaluation parameters that is closest to the first evaluation parameter. If the minimum absolute value of the difference is less than the difference matching threshold (which can be an artificially defined value), it can be determined that the second evaluation parameter corresponding to the minimum absolute value of the difference is indeed close enough to the first evaluation parameter, and the difference is small enough. In this case, the second object corresponding to the minimum absolute value of the difference can be determined to match the evaluation parameter of the first object. The game strength of the second object and the first object is close enough, and the second object corresponding to the minimum absolute value of the difference can be determined as the competitor of the first object.
[0120] If the absolute value of the minimum difference is greater than the difference matching threshold, it indicates that the difference between the second evaluation parameter corresponding to the absolute value of the minimum difference and the first evaluation parameter is still significant. This suggests that the second object corresponding to the minimum difference matches the evaluation parameters of the first object, indicating a discrepancy in their game strength. However, if the evaluation parameters of the second object corresponding to the minimum difference are significantly different from those of the first object, it indicates that there are no matching competitors for the first object in the matching pool. In this case, the first object can be added to the matching pool, and its competitors can be determined from among the subsequent matching requests from other objects. The specific implementation can be as follows: If the absolute value of the minimum difference is greater than the difference matching threshold, the first object can be added to the matching pool. Subsequently, upon receiving matching requests for third objects from K third nodes, the evaluation smart contract in the blockchain can be invoked based on the K matching requests. The evaluation smart contract retrieves the third evaluation parameters for each third object in the blockchain, where K is a positive integer (it can be understood that the request sending time of each third object matching request is later than the request sending time of the first object matching request). Then, based on the first evaluation parameters and the K third evaluation parameters, the competing objects for the first object can be determined among the K third objects.
[0121] It should be understood that the object that subsequently initiates the object matching request can be called a third object, and the object matching request initiated by the third object can be called a third object matching request. For K third objects, the evaluation parameters (called third evaluation parameters) corresponding to each third object can be obtained. Based on the first evaluation parameter and the K third evaluation parameters, the competitor of the first object can be determined among the K third objects. Similarly, the parameter difference between each of the K third evaluation parameters and the first evaluation parameter can be determined by the matching smart contract (for ease of distinction, this can be called the evaluation parameter difference). Then, the minimum evaluation parameter difference can be obtained within the K evaluation parameter differences. If the minimum evaluation parameter difference is less than the above difference matching threshold, the third object corresponding to the minimum evaluation parameter difference among the K third objects can be determined as the competitor of the first object. Of course, if the minimum evaluation parameter difference is greater than the above difference matching threshold, the first object can be continuously stored in the matching pool, waiting for a subsequent object to initiate an object matching request, and then the competitor of the first object can be determined based on the evaluation parameters. This process is repeated until the competitor of the first object is determined.
[0122] It should be understood that, in order to further improve the efficiency of object matching, this application can sort the objects to be matched in the matching pool in real time according to the evaluation parameters to obtain an object sequence. Then, when an object initiates an object matching request, the competing object can be quickly determined from the object sequence based on the object's evaluation parameters and the object sequence in the matching pool. For details, please refer to [link to relevant documentation]. Figure 3 , Figure 3 This is a schematic diagram illustrating the sorting of objects to be matched within a matching pool, as provided in an embodiment of this application.
[0123] like Figure 3 As shown, the objects to be matched in the matching pool can include object B, object A, and object C (hereinafter referred to as object B, object A, and object C). It should be understood that an object matching request can be considered a transaction data point. Each time a blockchain node receives an object matching request, it can generate a block based on that request and add the block to the blockchain. Each block in the blockchain has a block height, which can be understood as the block's sequence number in the blockchain (for example, the block height of the 100th block can be 100). Therefore, each object matching request corresponds to a block height (which can be called the object block height). Figure 3 The block height of each object to be matched shown is the block height corresponding to the object matching request.
[0124] It should be understood that for blocks generated earlier, their block height will be smaller. Therefore, the block height can also be used to determine when an object matching request was initiated. For example, ... Figure 3 The block height of object B to be matched is 100, the block height of object A to be matched is 99, and the block height of object C to be matched is 102. The block height indicates that object A initiated its object matching request earliest, object B initiated its request later than object A, and object C initiated its request later than object B. Within the matching pool, when sorting objects to be matched, the sorting is primarily based on the evaluation parameters of each object, without considering the block height. For example, as... Figure 3 As shown, the current evaluation parameter of object A to be matched is 50, the current evaluation parameter of object B to be matched is 30, and the current evaluation parameter of object C to be matched is 90. After sorting according to the order of the evaluation parameters from smallest to largest, the object sequence that can be obtained is {object B to be matched, object A to be matched, object C to be matched}.
[0125] Furthermore, if object D initiates an object matching request at this time, a block can be generated based on object D's object matching request and added to the blockchain. At this time, the block of object D will also correspond to a block height (such as 103). Furthermore, the blockchain node can obtain the evaluation parameter of object D (such as 60). Based on the evaluation parameter 60, object D can be inserted into the above object sequence. Since the evaluation parameter is between 50 and 90, object D can be inserted between the object to be matched A and the object to be matched C (object D inserted into the object sequence can be called the object to be matched D). Thus, a new object sequence can be obtained as {object to be matched B, object to be matched A, object to be matched D, object to be matched C}.
[0126] Furthermore, based on the object sequence {object to be matched B, object to be matched A, object to be matched D, object to be matched C}, the competitors of each object to be matched can be quickly determined. For example, for object to be matched D, object to be matched A and object to be matched C are adjacent objects in the sequence, so the competitors of object to be matched D can be determined from adjacent objects A and C. For example, if the difference between evaluation parameter 50 and evaluation parameter 60 is 10, and the difference between evaluation parameter 60 and evaluation parameter 90 is 30, then adjacent object A can be identified as a candidate competitor of object to be matched D. If the difference value of 10 is a threshold, then adjacent object A can be identified as a competitor of object to be matched D.
[0127] It should be understood that generating real-time object sequences through real-time sorting eliminates the need to perform a full parameter difference calculation every time an object matching request is received. This reduces computational load, saves matching time, and improves matching efficiency.
[0128] Furthermore, as described above, if no matching competitor is found for a given object, the object will be cached in the matching pool and wait until a matching competitor with matching evaluation parameters is found. However, this continuous waiting process undoubtedly increases the matching time and affects the user's matching experience. To reduce the matching time, this application can set a forced matching mechanism in the matching pool. Whenever the forced matching time is reached, if an object in the matching pool has been waiting for a long time, it can be considered that the object meets the forced matching condition. At this time, an object with the closest evaluation parameters can be forcibly matched as its competitor (that is, even if the absolute value of the difference between the two evaluation parameters is greater than the above difference matching threshold, the object is still forcibly identified as its corresponding competitor).
[0129] To facilitate understanding, taking the first object as an example, when determining the minimum of the N absolute values of the second difference, if the minimum absolute value of the difference is greater than the difference matching threshold, the first object can continue to wait in the matching pool for subsequent objects to initiate object matching requests. The competing objects for the first object are determined based on these subsequent requests. However, if the first object fails to find a suitable competing object in the matching pool for an extended period, and the forced matching condition is met, then an object with the closest evaluation parameters can be forcibly matched to the first object from the current objects included in the matching pool as its competing object. The specific implementation can be as follows: If the absolute value of the minimum difference is greater than the difference matching threshold, the first object can be added to the matching pool; subsequently, when the system time reaches the mandatory matching time, a system matching transaction can be generated, and a system matching block can be generated based on the system matching transaction, which can then be added to the blockchain; subsequently, the system block height of the system matching block in the blockchain and the object block height corresponding to the first object in the matching pool can be obtained; where the object block height refers to the block height of the request block in the blockchain, and the request block refers to the block generated based on the first object matching request when the first object matching request is obtained; based on the system block height and the object block height, the competing object of the first object can be determined among the current objects contained in the matching pool.
[0130] Taking a scenario where there are at least two current objects as an example, the specific implementation for determining the competing object of the first object among the current objects included in the matching pool based on the system block height and the object block height can be as follows: The absolute value of the height difference between the system block height and the object block height can be determined. If the absolute value of the height difference is greater than a height threshold, the current evaluation parameters corresponding to at least two current objects can be obtained. The absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter can be determined. The current object corresponding to the smallest absolute value of the parameter difference among the at least two parameter difference values can be determined as the competing object of the first object. If the absolute value of the height difference is less than a height threshold, the first object can be determined as a continuously pending matching object. Based on the fourth evaluation parameters of the fourth objects targeted by the received Q fourth object matching requests, and the first evaluation parameters, the competing object of the first object is determined among the Q fourth objects. Each fourth object matching request refers to an object matching request sent by a fourth node for a fourth object. The request sending time of each fourth object matching request is later than the request sending time of the first object matching request. Q is a positive integer.
[0131] Understandably, for each object matching request, when a blockchain node receives the request, it can generate a block based on that request and add it to the blockchain. This block can be called the object's request block, and each request block can correspond to a block height, which can be called the object block height. Similarly, each time a forced matching time is reached (e.g., if a forced matching occurs every 10 seconds, then every 10 seconds is a forced matching time), the blockchain node can also generate a forced matching transaction (which can be called a system matching transaction). Based on this system matching transaction, a block can also be generated (which can be called a system matching block). After adding this system matching block to the blockchain, it will also correspond to a block height, which can be called the system block height.
[0132] It should be understood that the difference between the object block height and the system block height can be used to characterize the object's waiting time. Since the system block height is the block height of the latest generated block corresponding to the current forced matching time, the difference between the system block height and the object block height can characterize the time distance from when the corresponding object initiated an object matching request to when forced matching is performed. If the block height difference is larger, it indicates that the object corresponding to that object block height initiated the object matching request earlier. Therefore, when the absolute value of the height difference between the object block height and the system block height of a certain request block is large enough, it can indicate that the object corresponding to that request block has waited for a sufficiently long time, and forced matching can be performed on it. For example, taking the first object as an example, when the absolute value of the height difference between the system block height and the object block height is greater than the height threshold, the current evaluation parameters corresponding to at least two current objects in the matching pool can be obtained. The current evaluation parameter that is closest to the first evaluation parameter is selected from the at least two current evaluation parameters. The current object corresponding to the closest current evaluation parameter can be the competing object of the first object. If the absolute value of the height difference between the system block height and the object block height is less than the height threshold, it indicates that the waiting time of the first object is still relatively short. The first object can continue to wait in the matching pool for an object whose evaluation parameters match its competition object. That is, the first object can be identified as a continuously waiting object for matching. Based on the fourth evaluation parameters of the fourth objects targeted by the Q received fourth object matching requests, and the first evaluation parameter, the competition object of the first object is determined among the Q fourth objects.
[0133] Optionally, and understandably, this application can also limit the forced matching frequency for each object. For example, each object can be limited to three forced matches. During the first forced match, if a current object with the closest evaluation parameters is matched in the matching pool, but the absolute value of the parameter difference between the two evaluation parameters is still greater than the difference matching threshold, then the first object can still be treated as a continuously waiting object, waiting in the matching pool for an object with a matching evaluation parameter to be its competitor. If the first object does not match a competitor, during the third forced match, if a current object with the closest evaluation parameters is matched in the matching pool, then even if the absolute value of the parameter difference between the two evaluation parameters is still greater than the difference matching threshold, this current object will still be treated as the first object's competitor. This reduces the waiting time for the first object while maximizing the match between the first object's competitors and the first object's evaluation parameters, thus improving the object matching accuracy while reducing the first object's waiting time. The specific implementation can be as follows: Before the steps of obtaining the current evaluation parameters corresponding to at least two current objects, determining the absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter, and determining the current object corresponding to the minimum absolute value of the parameter difference among the at least two parameter difference values as the competitor of the first object, the forced matching frequency of the first object can be obtained, and the subsequent processing method can be determined based on the forced matching frequency. That is, if the absolute value of the height difference is greater than the height threshold, the forced matching frequency corresponding to the first object can be obtained; if the forced matching frequency is greater than the frequency threshold, the steps of obtaining the current evaluation parameters corresponding to at least two current objects, determining the absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter, and determining the current object corresponding to the minimum absolute value of the parameter difference among the at least two parameter difference values as the competitor of the first object can be executed. If the forced matching frequency is less than the frequency threshold, the first object can continue to wait in the matching pool for an object whose evaluation parameters match as its competitor.
[0134] For ease of understanding, please refer to the following: Figure 4 , Figure 4 This is a schematic diagram illustrating forced matching based on block height, provided in an embodiment of this application. For example... Figure 4 As shown, when the matching pool contains objects B, A, D, and C to be matched, if the mandatory matching time of the large system arrives, the blockchain's matching timer can initiate a system matching transaction. Blockchain nodes can then generate a system matching block based on this transaction and obtain the system block height (e.g., ...) of the system matching block. Figure 4 (See 104). Further, the blockchain node can traverse the matching pool for objects whose absolute difference between their block height and the system block height is greater than a height threshold. For example, with a height threshold of 4, if the block height of object A is 99, the absolute difference between it and 104 is 5, which is greater than the height threshold of 4. Therefore, object A meets the forced matching condition. The competing objects for object A can be identified from the current objects (objects B, D, and C) in the matching pool. For instance, since object D's evaluation parameters are closest to object A's, object D can be identified as a candidate competing object for object A. If the forced matching frequency of object A exceeds the frequency threshold, then object D can be identified as the final competing object for object A. Subsequently, object A and object D can be deleted from the matching pool together.
[0135] In this embodiment, blockchain is introduced into the game matching business. An evaluation smart contract on the blockchain is used to maintain the evaluation parameters of a certain object in the game business, and a matching smart contract on the blockchain is used to maintain the object matching pool. Therefore, based on the object's evaluation parameters in the blockchain, objects initiating object matching requests can be matched in the matching pool. Specifically, when an object matching request (e.g., a first object matching request) is received from a node (e.g., a first node), the evaluation smart contract in the blockchain can be invoked to obtain the first evaluation parameters of the first object. Simultaneously, the matching smart contract can be invoked to obtain the second evaluation parameters corresponding to N second objects. The matching smart contract can determine the parameter difference between each second evaluation parameter and the first evaluation parameter. Based on the N parameter differences, the competing objects of the first object can be determined (the second evaluation parameters of the competing objects match those of the first object). It should be understood that, due to the immutability and tamper-proof nature of blockchain, using smart contracts to maintain the evaluation parameters of objects in the game can significantly improve the accuracy and security of these parameters. When the evaluation parameters possess high accuracy and security, matching games on the blockchain based on these accurate parameters can greatly enhance matching accuracy. Blockchain can support the openness and transparency of game matching, allowing all parties to trace the evaluation parameters and the specific matching process, thereby improving the accuracy of object matching and ultimately increasing game activity. In summary, this application can support the openness and transparency of game matching in the game matching business, improve the accuracy of game matching, and thus increase game activity.
[0136] It should be noted that, as described above, the method provided in this application embodiment can efficiently and accurately match each object with a competing object. When both camps contain multiple objects (e.g., at least two), the method provided in this application embodiment can also be used to match each object with a competing object, and then randomly assign the matched objects to the same camp, with their respective competing objects assigned to the opposing camp. For example, in a competitive game where matches are primarily played between two camps, and each camp requires five objects, according to the scheme provided in this application embodiment, after matching one competing object for object a, one for object b, one for object c, one for object d, and one for object e, objects a, b, c, d, and e can be grouped into one camp (e.g., camp 1, which can be called the first camp). Simultaneously, the competing objects corresponding to objects a, b, c, d, and e can be grouped into another camp (e.g., camp 2, which can be called the second camp). Then, camp 1 and camp 2 can form a match.
[0137] It should be understood that, as described above, this application can record the evaluation parameters of each object through an evaluation smart contract. These evaluation parameters can be determined based on each game (such as a game match). After each game between an object and its competitor ends, blockchain nodes can determine the latest evaluation parameters of that object based on the game details through the evaluation smart contract, and then record these latest evaluation parameters in the blockchain. Taking the first object as an example, after determining the first object's competitor through the above method, at the end of the game between the first object and its competitor, the first object's real-time evaluation parameters can be determined based on the game details. These real-time evaluation parameters can then be uploaded to the blockchain. When the first object subsequently initiates an object matching request, its competitor can be determined based on these latest real-time evaluation parameters in the blockchain. For ease of understanding, please refer to [further details omitted]. Figure 5 , Figure 5 This is a schematic diagram illustrating a process for recording evaluation parameters in a blockchain, as provided in an embodiment of this application. Figure 5 As shown, the process may include at least the following steps S401-S403:
[0138] Step S401: When the game between the first object and the competitor ends, obtain the game details information between the first object and the competitor.
[0139] Specifically, through the above Figure 2As described in the corresponding embodiment, a competitor can be identified for the first object, and then the first object can engage in a battle with that competitor. When the battle between the first object and the competitor ends, the blockchain node can obtain the battle details information for this battle. Specifically, the battle details information may include the battle result (whether the first object or the competitor wins) and the performance of the first object and the competitor (such as how much experience points, points, etc., the first object and the competitor gained).
[0140] Step S402: Invoke the evaluation smart contract based on the game details information, obtain the evaluation parameter update rules through the evaluation smart contract, and determine the updated evaluation parameters of the first object based on the evaluation parameter update rules, the game details information, and the first evaluation parameters.
[0141] Specifically, based on the game details, the blockchain node can invoke the evaluation smart contract to obtain the evaluation parameter update rules. These evaluation parameter update rules refer to the evaluation parameter calculation rules corresponding to the target application. Taking a game application as an example, different game applications will have different evaluation parameter calculation rules, which can be configured and deployed manually. Based on these evaluation parameter update rules, the game details, and the first evaluation parameter, the updated evaluation parameters for the first object can be determined. Specifically, the updated evaluation parameters for the first object can be determined as follows: based on the game result in the game details, the winning object is determined between the first object and the competing object; if the winning object is the first object, the first evaluation parameter is increased based on the evaluation parameter update rules, the second evaluation parameter of the competing object, and the first evaluation parameter to obtain the updated evaluation parameters for the first object; if the winning object is the competing object, the first evaluation parameter is decreased based on the evaluation parameter update rules, the second evaluation parameter of the competing object, and the first evaluation parameter to obtain the updated evaluation parameters for the first object.
[0142] Specifically, when the winning target is the first target, the implementation of improving the first evaluation parameter based on the evaluation parameter update rule, the second evaluation parameter of the competitor, and the first evaluation parameter to obtain the updated evaluation parameter of the first target can be as follows: Based on the evaluation parameter update rule, the absolute value of the first difference between the second evaluation parameter and the first evaluation parameter of the competitor can be determined; subsequently, the second evaluation parameter of the competitor can be compared with the first evaluation parameter, and the absolute value of the first difference can be compared with the difference threshold; if the second evaluation parameter of the competitor is greater than the first evaluation parameter, and the absolute value of the first difference is greater than the difference threshold, the first reward parameter in the evaluation parameter update rule can be obtained, and the first evaluation parameter can be improved according to the first reward parameter to obtain the updated evaluation parameter of the first target; if the second evaluation parameter of the competitor is greater than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, the first reward parameter in the evaluation parameter update rule can be obtained, and the first evaluation parameter can be improved according to the first reward parameter to obtain the updated evaluation parameter of the first target; otherwise, if the second evaluation parameter of the competitor is greater than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, the first evaluation parameter can be improved. If the threshold is reached, the second reward parameter in the evaluation parameter update rule can be obtained. The first evaluation parameter is then improved based on the second reward parameter to obtain the updated evaluation parameter of the first object; the first reward parameter is greater than the second reward parameter. If the second evaluation parameter of the competitor is less than the first evaluation parameter, and the absolute value of the first difference is greater than the difference threshold, the third reward parameter in the evaluation parameter update rule can be obtained. The first evaluation parameter is then improved based on the third reward parameter to obtain the updated evaluation parameter of the first object; the third reward parameter is less than the second reward parameter. If the second evaluation parameter of the competitor is less than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, the fourth reward parameter in the evaluation parameter update rule can be obtained. The first evaluation parameter is then improved based on the fourth reward parameter to obtain the updated evaluation parameter of the first object; the fourth reward parameter is greater than the third reward parameter, and the fourth reward parameter is less than the second reward parameter.
[0143] It should be understood that when the winning opponent is the first opponent, if the second evaluation parameter of the competing opponent is greater than the first evaluation parameter, it indicates that the competing opponent has a higher skill level and a greater probability of winning, while the first opponent has a lower probability of winning. However, the first opponent is still the winning opponent in this case, and a larger reward can be given to the first opponent based on the absolute value of the first difference between the first and second evaluation parameters. For example, if the absolute value of the first difference is greater than the difference threshold, it indicates that the evaluation parameters between the first opponent and the competing opponent are significantly different. In this case, the first opponent is still the winning opponent, and a larger reward parameter (such as the first reward parameter) can be given to the first opponent. For example, the first reward parameter can be added to the first evaluation parameter, and the result can be used as the updated evaluation parameter for the first opponent. If the absolute value of the first difference is less than the difference threshold, it indicates that the evaluation parameters between the first object and the competing object are very small, and the first object still has a certain probability of winning the game. In this case, the first object can be rewarded with an appropriate reward parameter (such as a second reward parameter, which is less than the first reward parameter mentioned above). For example, the second reward parameter can be added to the first evaluation parameter, and the result can be used as the updated evaluation parameter of the first object.
[0144] Similarly, when the winning opponent is the first target, if the second evaluation parameter of the competing opponent is less than the first evaluation parameter, it indicates that the first target has a higher game ability and a greater probability of winning, while the competing opponent has a lower probability of winning. Given a higher probability of winning, if the first target wins the game, it can be appropriately rewarded based on the absolute value of the first difference between the first and second evaluation parameters. For example, if the absolute value of the first difference is greater than a difference threshold, it indicates a significant difference in evaluation parameters between the first target and the competing opponent. In this case, the first target has the advantage. Therefore, when the first target wins the game, it can be rewarded with a smaller reward parameter (such as a third reward parameter, which can be less than the second reward parameter). For instance, the third reward parameter can be added to the first evaluation parameter, and the resulting value can be used as the updated evaluation parameter for the first target. If the absolute value of the first difference is less than the difference threshold, it indicates that the evaluation parameters between the first object and the competitor are relatively similar. In this case, the strength of the first object and the competitor is comparable. When the first object wins the game, it can be rewarded with an appropriate reward parameter (such as a fourth reward parameter, which can be less than the second reward parameter and greater than the third reward parameter. In a feasible case, the fourth reward parameter can be equal to the second reward parameter). For example, the third reward parameter can be added to the first evaluation parameter, and the result can be used as the updated evaluation parameter for the first object.
[0145] Specifically, when the winning target in a match is a competitor, the method for reducing the first evaluation parameter based on the evaluation parameter update rule and the competitor's second and first evaluation parameters to obtain the updated evaluation parameter of the first target can be as follows: Based on the evaluation parameter update rule, the absolute value of the first difference between the competitor's second and first evaluation parameters can be determined; the competitor's second and first evaluation parameters can be compared, and the absolute value of the first difference can be compared with a difference threshold; if the competitor's second evaluation parameter is less than the first evaluation parameter, and the absolute value of the first difference is greater than the difference threshold, the first penalty parameter in the evaluation parameter update rule can be obtained, and the first evaluation parameter can be reduced according to the first penalty parameter to obtain the updated evaluation parameter of the first target; if the competitor's second evaluation parameter is less than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, the method for reducing the first evaluation parameter can be as follows: Then, the second penalty parameter in the evaluation parameter update rule can be obtained. The first evaluation parameter is reduced according to the second penalty parameter to obtain the updated evaluation parameter of the first object; the first penalty parameter is greater than the second penalty parameter. If the second evaluation parameter of the competitor is greater than the first evaluation parameter, and the absolute value of the first difference is greater than the difference threshold, then the third penalty parameter in the evaluation parameter update rule can be obtained. The first evaluation parameter is reduced according to the third penalty parameter to obtain the updated evaluation parameter of the first object; the second penalty parameter is greater than the third penalty parameter. If the second evaluation parameter of the competitor is greater than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, then the fourth penalty parameter in the evaluation parameter update rule can be obtained. The first evaluation parameter is reduced according to the fourth penalty parameter to obtain the updated evaluation parameter of the first object; the fourth penalty parameter is greater than the third penalty parameter, and the fourth penalty parameter is less than the second penalty parameter.
[0146] It should be understood that when the winning opponent is a competitor, if the competitor's second evaluation parameter is less than the first evaluation parameter, it indicates that the first opponent has a higher skill level and a greater probability of winning, while the competitor has a lower probability of winning. However, in this case, the first opponent is still the losing opponent (the competitor is the winning opponent). Therefore, a larger penalty can be imposed on the first opponent based on the absolute value of the first difference between the first and second evaluation parameters. For example, if the absolute value of the first difference is greater than a difference threshold, it indicates a large difference in evaluation parameters between the first opponent and the competitor. In this case, the first opponent is still the losing opponent, and a larger penalty parameter (such as the first penalty parameter) can be used to penalize the first opponent. For instance, the absolute value of the result obtained by subtracting the first penalty parameter from the first evaluation parameter can be used as the updated evaluation parameter for the first opponent (i.e., deducting the first evaluation parameter based on the first penalty parameter). If the absolute value of the first difference is less than the difference threshold, it indicates that the evaluation parameters between the first object and the competing object are very similar, and the competing object still has a certain probability of winning the game. In this case, the first object can be penalized with an appropriate penalty parameter (such as a second penalty parameter, which is less than the first penalty parameter). For example, the second penalty parameter can be subtracted from the first evaluation parameter, and the absolute value of the result can be used as the updated evaluation parameter of the first object.
[0147] Similarly, when the winning opponent is a competitor, if the competitor's second evaluation parameter is greater than the first evaluation parameter, it indicates that the first opponent has a lower game ability and a lower probability of winning, while the competitor has a higher probability of winning. Given a lower probability of winning, if the competitor wins the game, the first opponent can be penalized to a lesser extent based on the absolute value of the first difference between the first and second evaluation parameters. For example, if the absolute value of the first difference is greater than a difference threshold, it indicates a significant difference in evaluation parameters between the first opponent and the competitor. In this case, the first opponent is at a disadvantage. Therefore, when the first opponent loses the game, it can be penalized with a smaller penalty parameter (such as a third penalty parameter, which can be smaller than the second penalty parameter). For instance, the absolute value of the result obtained by subtracting the third penalty parameter from the first evaluation parameter can be used as the updated evaluation parameter for the first opponent. If the absolute value of the first difference is less than the difference threshold, it indicates that the evaluation parameters between the first object and the competitor are relatively similar. In this case, the strength of the first object and the competitor is comparable. When the first object loses the game, it can be penalized with an appropriate penalty parameter (such as a fourth penalty parameter, which can be less than the second penalty parameter and greater than the third penalty parameter. In a feasible case, the fourth penalty parameter can be equal to the second penalty parameter). For example, the third penalty parameter can be subtracted from the first evaluation parameter, and the absolute value of the result can be used as the updated evaluation parameter for the first object.
[0148] It should be understood that this application merely illustrates one method for determining the update evaluation parameters of the first object, and does not imply that the method for determining the update evaluation parameters of the first object is limited to this. This application will not limit the specific implementation of determining the update evaluation parameters of the first object.
[0149] Step S403: Based on the first object, the competing object, the game details, the first evaluation parameter, the updated evaluation parameter, and the second evaluation parameter of the competing object, generate an evaluation parameter record block and add the evaluation parameter record block to the blockchain. The evaluation parameter record block added to the blockchain is used to determine the updated competing object for the first object based on the updated evaluation parameter in the evaluation parameter record block when receiving an updated object matching request for the first object sent by the first node. The evaluation parameter of the updated competing object matches the updated evaluation parameter.
[0150] Specifically, after determining the updated evaluation parameters of the first object, these parameters can be added to the blockchain. This can be achieved by generating an evaluation parameter record block based on the first object, the competing object, match details, the first evaluation parameter, the updated evaluation parameter, and the competing object's second evaluation parameter. This evaluation parameter record block can then be added to the blockchain. When the first object initiates a new object matching request, the blockchain node can retrieve the evaluation parameter record block from the blockchain and obtain the updated evaluation parameter from it. Based on this updated evaluation parameter, the first object's new competing object can be determined. For details on how to determine the new competing object, please refer to the above. Figure 2 The descriptions in the corresponding embodiments will not be repeated here.
[0151] It should be understood that by recording the evaluation parameters of each object in each block of the blockchain, when an object wishes to query the changes in its evaluation parameters, it can do so through the blockchain. Taking the first object as an example, the first object can initiate a query request for its evaluation parameters to the blockchain node through the first node (this can be called an evaluation parameter query request). When the blockchain node receives the evaluation parameter query request, it can obtain the update process of the first object's evaluation parameters in the blockchain and return it to the first node. The first object can then view this update process through the first node. The specific implementation can be as follows: The system can receive an evaluation parameter query request for a first object sent by a first node; based on the evaluation parameter query request, it can obtain a set of parameter-related blocks in the blockchain associated with the first object; each parameter-related block in the parameter-related block set refers to a parameter record block containing the first object and its evaluation parameters; the evaluation parameters of the first object include the first evaluation parameter (the evaluation parameters of the first object may also include the aforementioned updated evaluation parameter); subsequently, it can obtain the block generation time corresponding to each parameter-related block, thus obtaining a set of block generation times; according to the chronological order of the block generation time set, the parameter-related blocks contained in the parameter-related block set can be sorted to obtain a sequence of related blocks; then, the sequence of related blocks can be returned to the first node. The chronological order of the block generation time set can refer to an order from early to late. After sorting the parameter-related blocks according to the chronological order of the block generation time set, the change process of the evaluation parameters of the first object from early to late can be obtained.
[0152] In this embodiment, because blockchain possesses unforgeability and tamper-proof properties, maintaining the evaluation parameters of objects in the game based on evaluation smart contracts can significantly improve the accuracy and security of these parameters. When the evaluation parameters have high accuracy and security, game matching on the blockchain based on these accurate parameters can greatly enhance matching accuracy. Blockchain supports open and transparent game matching; all objects can trace the evaluation parameters and the specific matching process through the blockchain, improving the accuracy of object matching and thus increasing game activity. In summary, this application can support open and transparent game matching in game matching services, improve the accuracy of game matching, and thereby increase game activity.
[0153] Further, please see Figure 6 , Figure 6 This is a schematic diagram of the structure of a blockchain-based data processing device provided in an embodiment of this application. The blockchain-based data processing device can be a computer program (including program code) running on a computer device; for example, the blockchain-based data processing device is an application software. The blockchain-based data processing device can be used to execute... Figure 3 The method shown. (As illustrated) Figure 6 As shown, the blockchain-based data processing device 1 may include: a request acquisition module 11, a parameter acquisition module 12, a difference determination module 13, and a competitor determination module 14.
[0154] Request retrieval module 11 is used to retrieve the first object matching request sent by the first node for the first object;
[0155] The parameter acquisition module 12 is used to call the evaluation smart contract in the blockchain based on the first object matching request, and obtain the first evaluation parameters of the first object in the blockchain through the evaluation smart contract.
[0156] The parameter acquisition module 12 is also used to call the matching smart contract in the blockchain based on the first evaluation parameters, and obtain the second evaluation parameters corresponding to the N second objects contained in the matching pool through the matching smart contract; N is a positive integer;
[0157] The difference determination module 13 is used to determine the parameter differences between the N second evaluation parameters and the first evaluation parameters, respectively.
[0158] The competitor determination module 14 is used to determine the competitors of the first object from among the N second objects contained in the matching pool based on the differences of N parameters; the second evaluation parameters of the competitors are matched with the first evaluation parameters.
[0159] The specific implementation methods of the request acquisition module 11, parameter acquisition module 12, difference determination module 13, and competitor determination module 14 can be found in the above description. Figure 2 The descriptions of steps S101-S104 in the corresponding embodiments will not be repeated here.
[0160] In one embodiment, the blockchain-based data processing device 1 may further include: a game details acquisition module 15, a rule acquisition module 16, an update parameter determination module 17, a record block generation module 18, and a block addition module 19.
[0161] The game details acquisition module 15 is used to acquire game details information between the first object and the competitor when the game ends.
[0162] Rule acquisition module 16 is used to call the evaluation smart contract based on game details information, and obtain evaluation parameters and update rules through the evaluation smart contract;
[0163] The update parameter determination module 17 is used to determine the update evaluation parameters of the first object based on the evaluation parameter update rules, game details information, and the first evaluation parameters;
[0164] The record block generation module 18 is used to generate an evaluation parameter record block based on the first object, the competing object, the game details information, the first evaluation parameter, the updated evaluation parameter, and the second evaluation parameter of the competing object;
[0165] The block adding module 19 is used to add the evaluation parameter recording block to the blockchain; the evaluation parameter recording block added to the blockchain is used to determine the update competitor for the first object based on the update evaluation parameters in the evaluation parameter recording block when receiving the update object matching request for the first object sent by the first node; the evaluation parameters of the update competitor are matched with the update evaluation parameters.
[0166] The specific implementation methods of the game details acquisition module 15, rule acquisition module 16, update parameter determination module 17, record block generation module 18, and block addition module 19 can be found in the above. Figure 5 The descriptions of steps S401-S403 in the corresponding embodiments will not be repeated here.
[0167] In one embodiment, the parameter update determination module 17 may include: a winning object determination unit 171, a parameter increase unit 172, and a parameter decrease unit 173.
[0168] The winning object determination unit 171 is used to determine the winning object in the game between the first object and the competing object based on the game result in the game details information;
[0169] The parameter enhancement unit 172 is used to enhance the first evaluation parameter based on the evaluation parameter update rule, the second evaluation parameter of the competitor and the first evaluation parameter if the winning object of the game is the first object, so as to obtain the updated evaluation parameter of the first object.
[0170] The parameter reduction unit 173 is used to reduce the first evaluation parameter based on the evaluation parameter update rule, the second evaluation parameter and the first evaluation parameter of the competitor if the winning object in the game is a competitor, so as to obtain the updated evaluation parameter of the first object.
[0171] The specific implementation methods of the winning object determination unit 171, the parameter boosting unit 172, and the parameter decrementing unit 173 can be found in the above description. Figure 5 The description of step S402 in the corresponding embodiment will not be repeated here.
[0172] In one embodiment, the parameter boosting unit 172 may include: a first difference determination subunit 1721, a first parameter comparison subunit 1722, and a parameter boosting subunit 1723.
[0173] The first difference determination subunit 1721 is used to determine the absolute value of the first difference between the second evaluation parameter and the first evaluation parameter of the competitor based on the evaluation parameter update rule;
[0174] The first parameter comparison subunit 1722 is used to compare the second evaluation parameter of the competitor with the first evaluation parameter.
[0175] The parameter enhancement subunit 1723 is used to obtain the first reward parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is greater than the first evaluation parameter and the absolute value of the first difference is greater than the difference threshold, and then enhance the first evaluation parameter according to the first reward parameter to obtain the updated evaluation parameter of the first object.
[0176] The parameter boosting subunit 1723 is further configured to, if the second evaluation parameter of the competitor is greater than the first evaluation parameter and the absolute value of the first difference is less than the difference threshold, obtain the second reward parameter in the evaluation parameter update rule, boost the first evaluation parameter according to the second reward parameter, and obtain the updated evaluation parameter of the first object; the first reward parameter is greater than the second reward parameter;
[0177] The parameter boosting subunit 1723 is further configured to, if the second evaluation parameter of the competing object is less than the first evaluation parameter and the absolute value of the first difference is greater than the difference threshold, obtain the third reward parameter in the evaluation parameter update rule, boost the first evaluation parameter according to the third reward parameter, and obtain the updated evaluation parameter of the first object; the third reward parameter is less than the second reward parameter;
[0178] The parameter boosting subunit 1723 is further configured to, if the second evaluation parameter of the competing object is less than the first evaluation parameter and the absolute value of the first difference is less than the difference threshold, obtain the fourth reward parameter in the evaluation parameter update rule, and boost the first evaluation parameter according to the fourth reward parameter to obtain the updated evaluation parameter of the first object; the fourth reward parameter is greater than the third reward parameter and the fourth reward parameter is less than the second reward parameter.
[0179] The specific implementation methods of the first difference determination subunit 1721, the first parameter comparison subunit 1722, and the parameter enhancement subunit 1723 can be found in the above description. Figure 5 The description of step S402 in the corresponding embodiment will not be repeated here.
[0180] In one embodiment, the parameter reduction unit 173 may include: a second difference determination subunit 1731, a second parameter comparison subunit 1732, and a parameter reduction subunit 1733.
[0181] The second difference determination subunit 1731 is used to determine the absolute value of the first difference between the second evaluation parameter and the first evaluation parameter of the competitor based on the evaluation parameter update rule;
[0182] The second parameter comparison subunit 1732 is used to compare the second evaluation parameter of the competitor with the first evaluation parameter.
[0183] The parameter reduction subunit 1733 is used to obtain the first penalty parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is less than the first evaluation parameter and the absolute value of the first difference is greater than the difference threshold, and then reduce the first evaluation parameter according to the first penalty parameter to obtain the updated evaluation parameter of the first object.
[0184] The parameter reduction subunit 1733 is also used to obtain the second penalty parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is less than the first evaluation parameter and the absolute value of the first difference is less than the difference threshold, and then reduce the first evaluation parameter according to the second penalty parameter to obtain the updated evaluation parameter of the first object; the first penalty parameter is greater than the second penalty parameter.
[0185] The parameter reduction subunit 1733 is also used to obtain the third penalty parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is greater than the first evaluation parameter and the absolute value of the first difference is greater than the difference threshold, and then reduce the first evaluation parameter according to the third penalty parameter to obtain the updated evaluation parameter of the first object; the second penalty parameter is greater than the third penalty parameter.
[0186] The parameter reduction subunit 1733 is also used to obtain the fourth penalty parameter in the evaluation parameter update rule if the second evaluation parameter of the competing object is greater than the first evaluation parameter and the absolute value of the first difference is less than the difference threshold, and then reduce the first evaluation parameter according to the fourth penalty parameter to obtain the updated evaluation parameter of the first object; the fourth penalty parameter is greater than the third penalty parameter and the fourth penalty parameter is less than the second penalty parameter.
[0187] The specific implementation methods of the second difference determination subunit 1731, the second parameter comparison subunit 1732, and the parameter reduction subunit 1733 can be found in the above description. Figure 5 The description of step S402 in the corresponding embodiment will not be repeated here.
[0188] In one embodiment, a second object corresponds to a second object matching request sent by a second node; the request sending time of each second object matching request is earlier than the request sending time of the first object matching request.
[0189] The competitor determination module 14 may include: a difference absolute value determination unit 141, a minimum absolute value determination unit 142, and a first competitor determination unit 143.
[0190] The absolute value of the difference determination unit 141 is used to determine the absolute value corresponding to each parameter difference among N parameter differences by matching smart contracts, so as to obtain N second absolute values of the difference.
[0191] The minimum absolute value determination unit 142 is used to determine the minimum value among N second difference absolute values as the minimum difference absolute value;
[0192] The first competing object determination unit 143 is used to determine the second object corresponding to the minimum absolute value of the difference among N second objects as the competing object of the first object if the minimum absolute value of the difference is less than the difference matching threshold.
[0193] The specific implementation methods of the difference absolute value determination unit 141, the minimum absolute value determination unit 142, and the first competing object determination unit 143 can be found in the above description. Figure 2 The description of step S104 in the corresponding embodiment will not be repeated here.
[0194] In one embodiment, the competitor determination module 14 may further include: a first object addition unit 144, an evaluation parameter acquisition unit 145, and a second competitor determination unit 146.
[0195] The first object addition unit 144 is used to add the first object to the matching pool if the absolute value of the minimum difference is greater than the difference matching threshold.
[0196] The evaluation parameter acquisition unit 145 is used to, upon receiving third object matching requests sent by K third nodes respectively, invoke the evaluation smart contract in the blockchain based on the K third object matching requests, and obtain the third evaluation parameters of the third object for each third object matching request in the blockchain through the evaluation smart contract; K is a positive integer;
[0197] The second competitor determination unit 146 is used to determine the competitors of the first object from among K third objects based on the first evaluation parameters and K third evaluation parameters.
[0198] For the specific implementation methods of the first object addition unit 144, the evaluation parameter acquisition unit 145, and the second competitor determination unit 146, please refer to the above. Figure 2 The description of step S104 in the corresponding embodiment will not be repeated here.
[0199] In one embodiment, the competitor determination module 14 may further include: a second object addition unit 147, a system block addition unit 148, a block height acquisition unit 149, and a third competitor determination unit 150.
[0200] The second object addition unit 147 is used to add the first object to the matching pool if the absolute value of the minimum difference is greater than the difference matching threshold.
[0201] The system block adding unit 148 is used to generate a system matching transaction when the system time reaches the mandatory matching time, generate a system matching block based on the system matching transaction, and add the system matching block to the blockchain.
[0202] The block height acquisition unit 149 is used to acquire the system block height of the system matching block in the blockchain, and the object block height corresponding to the first object in the matching pool; the object block height refers to the block height of the request block in the blockchain, and the request block refers to the block generated based on the first object matching request when the first object matching request is acquired;
[0203] The third competing object determination unit 150 is used to determine the competing object of the first object from the current objects contained in the matching pool based on the system block height and the object block height.
[0204] For the specific implementation methods of the second object addition unit 147, the system block addition unit 148, the block height acquisition unit 149, and the third competing object determination unit 150, please refer to the above. Figure 2 The description of step S104 in the corresponding embodiment will not be repeated here.
[0205] In one embodiment, the number of current objects is at least two;
[0206] The third competing object determination unit 150 may include: a height difference determination subunit 1501, a first object determination subunit 1502, and a second object determination subunit 1503.
[0207] The height difference determination subunit 1501 is used to determine the absolute value of the height difference between the system block height and the object block height.
[0208] The first object determination subunit 1502 is used to obtain the current evaluation parameters corresponding to at least two current objects if the absolute value of the height difference is greater than the height threshold, determine the absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter, and determine the current object corresponding to the smallest absolute value of the parameter difference among the at least two absolute values of the parameter difference as the competing object of the first object.
[0209] The second object determination subunit 1503 is used to determine the first object as a continuously pending match object if the absolute value of the height difference is less than the height threshold. Based on the fourth evaluation parameters of the fourth objects targeted by the Q received fourth object matching requests, and the first evaluation parameters, it determines the competing objects of the first object among the Q fourth objects. Each fourth object matching request refers to an object matching request sent by the fourth node for the fourth object. The request sending time of each fourth object matching request is later than the request sending time of the first object matching request. Q is a positive integer.
[0210] The specific implementation methods of the height difference determination subunit 1501, the first object determination subunit 1502, and the second object determination subunit 1503 can be found in the above description. Figure 3 The descriptions of steps S101-S104 in the corresponding embodiments will not be repeated here.
[0211] In one embodiment, the third competitor determination unit 150 may further include: a matching frequency acquisition subunit 1504 and a step execution subunit 1505.
[0212] Matching frequency acquisition sub-unit 1504 is used to acquire the forced matching frequency corresponding to the first object if the absolute value of the height difference is greater than the height threshold.
[0213] The step execution subunit 1505 is used to perform the following steps if the forced matching frequency is greater than the frequency threshold: obtaining the current evaluation parameters corresponding to at least two current objects respectively, determining the absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter, and determining the current object corresponding to the smallest absolute value of the parameter difference among the at least two parameter difference absolute values as the competing object of the first object.
[0214] The specific implementation methods of the matching frequency acquisition subunit 1504 and the step execution subunit 1505 can be found in the above description. Figure 2 The description of step S104 in the corresponding embodiment will not be repeated here.
[0215] In one embodiment, the blockchain-based data processing device 1 may further include: a query request acquisition module 21, an associated block acquisition module 22, a generation time acquisition module 23, a block sorting module 24, and a block return module 25.
[0216] The query request acquisition module 21 is used to receive the evaluation parameter query request for the first object sent by the first node;
[0217] The associated block acquisition module 22 is used to obtain a set of parameter associated blocks in the blockchain that are associated with the first object based on the evaluation parameter query request; each parameter associated block in the parameter associated block set refers to a parameter record block that contains the first object and the evaluation parameters of the first object; the evaluation parameters of the first object include the first evaluation parameters;
[0218] The generation time acquisition module 23 is used to acquire the block generation time corresponding to each parameter-associated block, and obtain a set of block generation times;
[0219] The block sorting module 24 is used to sort the parameter-associated blocks contained in the parameter-associated block set according to the time order of the block generation time set, so as to obtain the associated block sequence;
[0220] Block return module 25 is used to return the associated block sequence to the first node.
[0221] The specific implementation methods of the query request acquisition module 21, the associated block acquisition module 22, the generation time acquisition module 23, the block sorting module 24, and the block return module 25 can be found in the above description. Figure 5 The description of step S403 in the corresponding embodiment will not be repeated here.
[0222] In this embodiment, because blockchain possesses unforgeability and tamper-proof properties, maintaining the evaluation parameters of objects in the game based on evaluation smart contracts can significantly improve the accuracy and security of these parameters. When the evaluation parameters have high accuracy and security, game matching on the blockchain based on these accurate parameters can greatly enhance matching accuracy. Blockchain supports open and transparent game matching; all objects can trace the evaluation parameters and the specific matching process through the blockchain, improving the accuracy of object matching and thus increasing game activity. In summary, this application can support open and transparent game matching in game matching services, improve the accuracy of game matching, and thereby increase game activity.
[0223] Further, please see Figure 7 , Figure 7 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Figure 7 As shown above, Figure 6 The blockchain-based data processing device 1 in the corresponding embodiment can be applied to the aforementioned computer device 8000. The computer device 8000 may include a processor 8001, a network interface 8004, and a memory 8005. Furthermore, the computer device 8000 also includes a user interface 8003 and at least one communication bus 8002. The communication bus 8002 is used to enable communication between these components. The user interface 8003 may include a display screen and a keyboard; optionally, the user interface 8003 may also include a standard wired interface or a wireless interface. The network interface 8004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 8005 may be high-speed RAM or non-volatile memory, such as at least one disk storage device. Optionally, the memory 8005 may also be at least one storage device located remotely from the aforementioned processor 8001. Figure 7 As shown, the memory 8005, which is a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.
[0224] exist Figure 7 In the computer device 8000 shown, the network interface 8004 provides network communication functionality; the user interface 8003 is mainly used to provide an input interface for the user; and the processor 8001 can be used to call the device control application program stored in the memory 8005 to achieve:
[0225] Get the first object matching request sent by the first node for the first object;
[0226] Based on the first object matching request, the evaluation smart contract in the blockchain is invoked, and the first evaluation parameters of the first object are obtained in the blockchain through the evaluation smart contract;
[0227] The matching smart contract in the blockchain is invoked based on the first evaluation parameters. The second evaluation parameters corresponding to the N second objects contained in the matching pool are obtained through the matching smart contract; N is a positive integer.
[0228] Determine the parameter differences between N second evaluation parameters and the first evaluation parameter, and determine the competing objects of the first object from among the N second objects contained in the matching pool based on the N parameter differences; the second evaluation parameters of the competing objects are matched with the first evaluation parameters.
[0229] It should be understood that the computer device 8000 described in the embodiments of this application can execute the foregoing text. Figures 3 to 5 The description of the blockchain-based data processing method in the corresponding embodiments can also be performed as described above. Figure 6 The description of the blockchain-based data processing device 1 in the corresponding embodiments will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated here.
[0230] Furthermore, it should be noted that this application embodiment also provides a computer-readable storage medium, which stores a computer program executed by the aforementioned data processing computer device 8000. The computer program includes program instructions, and when the processor executes the program instructions, it can execute the aforementioned... Figures 3 to 5 The description of the data processing method in the corresponding embodiments is already provided and will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated. For technical details not disclosed in the computer-readable storage medium embodiments related to this application, please refer to the description of the method embodiments of this application.
[0231] The aforementioned computer-readable storage medium can be an internal storage unit of the data processing apparatus or computer device provided in any of the foregoing embodiments, such as a hard disk or memory of the computer device. The computer-readable storage medium can also be an external storage device of the computer device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., provided on the computer device. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices of the computer device. The computer-readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0232] One aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the method provided in one aspect of the embodiments of this application.
[0233] The terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the term "comprising," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, apparatus, product, or device that includes a series of steps or units is not limited to the listed steps or modules, but may optionally include steps or modules not listed, or may optionally include other step units inherent to these processes, methods, apparatuses, products, or devices.
[0234] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0235] The methods and related apparatuses provided in this application are described with reference to the method flowcharts and / or structural diagrams provided in this application. Specifically, each block of the method flowchart and / or structural diagram, as well as combinations of blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to create a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing device, generate instructions for implementing the process. Figure 1 A schematic diagram of one or more processes and / or structures. Figure 1 The computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 A schematic diagram of one or more processes and / or structures. Figure 1 The functions specified in one or more boxes. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus for implementing the process. Figure 1 A process or multiple processes and / or structures illustrate the steps of the functions specified in one or more boxes.
[0236] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims
1. A data processing method based on blockchain, characterized in that, include: Get the first object matching request sent by the first node for the first object; Based on the first object matching request, the evaluation smart contract in the blockchain is invoked, and the first evaluation parameter of the first object is obtained in the blockchain through the evaluation smart contract. Based on the first evaluation parameters, the matching smart contract in the blockchain is invoked to obtain the second evaluation parameters corresponding to the N second objects contained in the matching pool; N is a positive integer. Determine the parameter differences between N second evaluation parameters and the first evaluation parameter, and determine the competing objects of the first object among the N second objects included in the matching pool based on the N parameter differences; the second evaluation parameters of the competing objects are matched with the first evaluation parameters.
2. The method according to claim 1, characterized in that, The method further includes: When the game between the first object and the competing object ends, obtain the game details information between the first object and the competing object; The evaluation smart contract is invoked based on the game details information. The evaluation parameter update rules are obtained through the evaluation smart contract. Based on the evaluation parameter update rules, the game details information, and the first evaluation parameters, the updated evaluation parameters of the first object are determined. Based on the first object, the competing object, the game details, the first evaluation parameter, the updated evaluation parameter, and the second evaluation parameter of the competing object, an evaluation parameter record block is generated and added to the blockchain. The evaluation parameter record block added to the blockchain is used to determine an updated competing object for the first object based on the updated evaluation parameter in the evaluation parameter record block when receiving an updated object matching request for the first object sent by the first node. The evaluation parameter of the updated competing object matches the updated evaluation parameter.
3. The method according to claim 2, characterized in that, The step of determining the updated evaluation parameters for the first object based on the evaluation parameter update rules, the game details information, and the first evaluation parameters includes: Based on the match results in the match details, the winning opponent is determined between the first opponent and the competing opponent; If the winning target in the game is the first target, then based on the evaluation parameter update rule, the second evaluation parameter of the competing target and the first evaluation parameter, the first evaluation parameter is improved to obtain the updated evaluation parameter of the first target; If the winning opponent is the competing opponent, then based on the evaluation parameter update rule, the second evaluation parameter of the competing opponent and the first evaluation parameter, the first evaluation parameter is reduced to obtain the updated evaluation parameter of the first opponent.
4. The method according to claim 3, characterized in that, The step of improving the first evaluation parameter based on the evaluation parameter update rule, the second evaluation parameter of the competitor, and the first evaluation parameter to obtain the updated evaluation parameter of the first object includes: Based on the evaluation parameter update rule, determine the absolute value of the first difference between the second evaluation parameter and the first evaluation parameter of the competitor; Compare the second evaluation parameter of the competitor with the first evaluation parameter; If the second evaluation parameter of the competing object is greater than the first evaluation parameter, and the absolute value of the first difference is greater than the difference threshold, then the first reward parameter in the evaluation parameter update rule is obtained, and the first evaluation parameter is improved according to the first reward parameter to obtain the updated evaluation parameter of the first object. If the second evaluation parameter of the competing object is greater than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, then the second reward parameter in the evaluation parameter update rule is obtained, and the first evaluation parameter is improved according to the second reward parameter to obtain the updated evaluation parameter of the first object; the first reward parameter is greater than the second reward parameter. If the second evaluation parameter of the competitor is less than the first evaluation parameter, and the absolute value of the first difference is greater than the difference threshold, then the third reward parameter in the evaluation parameter update rule is obtained, and the first evaluation parameter is improved according to the third reward parameter to obtain the updated evaluation parameter of the first object; the third reward parameter is less than the second reward parameter. If the second evaluation parameter of the competing object is less than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, then the fourth reward parameter in the evaluation parameter update rule is obtained, and the first evaluation parameter is improved according to the fourth reward parameter to obtain the updated evaluation parameter of the first object; the fourth reward parameter is greater than the third reward parameter, and the fourth reward parameter is less than the second reward parameter.
5. The method according to claim 3, characterized in that, The step of reducing the first evaluation parameter based on the evaluation parameter update rule, the second evaluation parameter of the competitor, and the first evaluation parameter to obtain the updated evaluation parameter of the first object includes: Based on the evaluation parameter update rule, determine the absolute value of the first difference between the second evaluation parameter and the first evaluation parameter of the competitor; Compare the second evaluation parameter of the competitor with the first evaluation parameter; If the second evaluation parameter of the competing object is less than the first evaluation parameter, and the absolute value of the first difference is greater than the difference threshold, then the first penalty parameter in the evaluation parameter update rule is obtained, and the first evaluation parameter is reduced according to the first penalty parameter to obtain the updated evaluation parameter of the first object. If the second evaluation parameter of the competing object is less than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, then the second penalty parameter in the evaluation parameter update rule is obtained, and the first evaluation parameter is reduced according to the second penalty parameter to obtain the updated evaluation parameter of the first object; the first penalty parameter is greater than the second penalty parameter. If the second evaluation parameter of the competing object is greater than the first evaluation parameter, and the absolute value of the first difference is greater than the difference threshold, then the third penalty parameter in the evaluation parameter update rule is obtained, and the first evaluation parameter is reduced according to the third penalty parameter to obtain the updated evaluation parameter of the first object; the second penalty parameter is greater than the third penalty parameter. If the second evaluation parameter of the competing object is greater than the first evaluation parameter, and the absolute value of the first difference is less than the difference threshold, then the fourth penalty parameter in the evaluation parameter update rule is obtained, and the first evaluation parameter is reduced according to the fourth penalty parameter to obtain the updated evaluation parameter of the first object; the fourth penalty parameter is greater than the third penalty parameter, and the fourth penalty parameter is less than the second penalty parameter.
6. The method according to claim 1, characterized in that, One second object corresponds to one second object matching request sent by a second node; the request sending time of each second object matching request is earlier than the request sending time of the first object matching request; The step of determining the competing object of the first object from among the N second objects included in the matching pool based on the differences of N parameters includes: By using the matching smart contract, the absolute value corresponding to each of the N parameter differences is determined, and N second difference absolute values are obtained. The minimum value among the N absolute values of the second difference is determined as the minimum absolute value of the difference; If the absolute value of the minimum difference is less than the difference matching threshold, then the second object corresponding to the absolute value of the minimum difference among the N second objects is determined as the competing object of the first object.
7. The method according to claim 6, characterized in that, The method further includes: If the absolute value of the minimum difference is greater than the difference matching threshold, then the first object is added to the matching pool; Upon receiving third object matching requests from K third nodes, the evaluation smart contract in the blockchain is invoked based on the K third object matching requests. The evaluation smart contract is used to obtain the third evaluation parameters of the third object for each third object matching request in the blockchain; K is a positive integer. Based on the first evaluation parameter and K third evaluation parameters, the competitors of the first object are determined among the K third objects.
8. The method according to claim 6, characterized in that, The method further includes: If the absolute value of the minimum difference is greater than the difference matching threshold, then the first object is added to the matching pool; When the system time reaches the mandatory matching time, a system matching transaction is generated, and a system matching block is generated based on the system matching transaction and added to the blockchain. Obtain the system block height of the system matching block in the blockchain, and the object block height corresponding to the first object in the matching pool; the object block height refers to the block height of the request block in the blockchain, and the request block refers to the block generated based on the first object matching request when the first object matching request is obtained; Based on the system block height and the object block height, the competing object of the first object is determined among the current objects contained in the matching pool.
9. The method according to claim 8, characterized in that, The number of current objects is at least two; The step of determining the competing object of the first object from the current objects included in the matching pool based on the system block height and the object block height includes: Determine the absolute value of the height difference between the system block height and the object block height; If the absolute value of the height difference is greater than the height threshold, then obtain the current evaluation parameters corresponding to at least two current objects respectively, determine the absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter, and determine the current object corresponding to the smallest absolute value of the parameter difference among the at least two parameter difference values as the competing object of the first object; If the absolute value of the height difference is less than the height threshold, the first object is determined as a continuously pending match object. Based on the fourth evaluation parameters of the fourth objects targeted by the Q received fourth object matching requests, and the first evaluation parameters, the competing objects of the first object are determined among the Q fourth objects. Each fourth object matching request refers to an object matching request sent by the fourth node for the fourth object. The request sending time of each fourth object matching request is later than the request sending time of the first object matching request. Q is a positive integer.
10. The method according to claim 9, characterized in that, The method further includes: If the absolute value of the height difference is greater than the height threshold, then the forced matching frequency corresponding to the first object is obtained; If the forced matching frequency is greater than the frequency threshold, then the steps of obtaining the current evaluation parameters corresponding to at least two current objects, determining the absolute value of the parameter difference between each of the at least two current evaluation parameters and the first evaluation parameter, and determining the current object corresponding to the smallest absolute value of the parameter difference among the at least two parameter difference values as the competing object of the first object are executed.
11. The method according to claim 1, characterized in that, The method further includes: Receive the evaluation parameter query request for the first object sent by the first node; Based on the evaluation parameter query request, a set of parameter-associated blocks in the blockchain associated with the first object is obtained; each parameter-associated block in the set of parameter-associated blocks refers to a parameter record block containing the first object and the evaluation parameters of the first object; the evaluation parameters of the first object include the first evaluation parameters. Obtain the block generation time corresponding to each parameter-associated block to obtain a set of block generation times; According to the chronological order of the block generation time set, the parameter-associated blocks contained in the parameter-associated block set are sorted to obtain the associated block sequence; Return the associated block sequence to the first node.
12. A data processing device based on blockchain, characterized in that, include: The request retrieval module is used to retrieve the first object matching request sent by the first node for the first object; The parameter acquisition module is used to call the evaluation smart contract in the blockchain based on the first object matching request, and obtain the first evaluation parameter of the first object in the blockchain through the evaluation smart contract. The parameter acquisition module is also used to call the matching smart contract in the blockchain based on the first evaluation parameter, and obtain the second evaluation parameters corresponding to the N second objects contained in the matching pool through the matching smart contract; N is a positive integer; The difference determination module is used to determine the parameter differences between N second evaluation parameters and the first evaluation parameter, respectively. The competitor determination module is used to determine the competitor of the first object from among the N second objects included in the matching pool based on the differences of N parameters; the second evaluation parameters of the competitor are matched with the first evaluation parameters.
13. A computer device, characterized in that, include: Processor, memory, and network interface; The processor is connected to the memory and the network interface, wherein the network interface is used to provide network communication functions, the memory is used to store computer programs, and the processor is used to call the computer programs to cause the computer device to execute the method according to any one of claims 1-11.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program adapted to be loaded by a processor and to execute the method according to any one of claims 1-11.
15. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium, the computer program being adapted to be read and executed by a processor to cause a computer device having the processor to perform the method of any one of claims 1-11.