A task processing method, device and storage medium

By splitting tasks and replacing computing nodes in the computing power network, the problem of time-sensitive tasks being completed on time is solved, and the task processing efficiency is improved.

CN114327827BActive Publication Date: 2025-03-21CHINA UNITED NETWORK COMM GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111630198.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-28
Publication Date
2025-03-21
Estimated Expiration
2041-12-28

AI Technical Summary

Technical Problem

When dealing with time-sensitive computing tasks, there is a lack of solutions in the computing power network to ensure that tasks are completed on time.

Method used

By splitting the pending task into a plurality of pending subtasks, and after the processing end time of determining that the processing result of one pending subtask is at the preset time, the first pending node is replaced with a second pending node whose available pending power resources are greater than the preset computing power resources, the results of the processed subtask and other pending subtask information are sent.

Benefits of technology

Ensure the processing time of tasks, improve the processing efficiency of tasks, and process pending tasks in a timely manner through more computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114327827B_ABST
    Figure CN114327827B_ABST
Patent Text Reader

Abstract

The present application provides a task processing method, device and storage medium, which relate to the field of cloud computing technology and are used to solve the technical problem that it is impossible to ensure that tasks are completed on time. The method is applied to a first computing power node. The first computing power node belongs to a blockchain system including a task publishing node and multiple computing power nodes. The method includes: after obtaining the task information of the task to be processed, determining the processing result of a subtask to be processed among multiple subtasks to be processed, and publishing the processing end time of determining the processing result of a subtask to be processed, if the processing end time is after the preset time, a second computing power node whose available computing power resources are greater than the preset computing power resources can be determined, and the processing result of the subtask processed by the first computing power node and the subtask information of other subtasks to be processed except the processed subtasks among the multiple subtasks to be processed are sent to the second computing power node. The present application improves the processing efficiency of tasks to be processed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of cloud computing technology, and in particular, relates to a task processing method, device and storage medium. Background Art

[0002] With the rapid development of cloud-network integration technology based on new network technologies such as software defined network (SDN), network functions virtualization (NFV) and artificial intelligence (AI), computing power networks have the ability to virtualize computing power resources intelligently and flexibly, thereby improving the utilization of computing power resources.

[0003] However, when processing time-sensitive computing tasks, there is no defined solution in the computing network to ensure that such computing tasks are completed within the specified time. Summary of the invention

[0004] The present application provides a task processing method, device and storage medium for solving the problem of being unable to ensure that tasks are completed on time.

[0005] In order to achieve the above objectives, this application adopts the following technical solutions:

[0006] In the first aspect, a task processing method is provided, which is applied to a first computing power node; the first computing power node belongs to a blockchain system including a task publishing node for publishing tasks to be processed and multiple computing power nodes. The task processing method includes: after obtaining the task information of the task to be processed, determining the processing result of a subtask to be processed among multiple subtasks to be processed, and publishing the processing end time of determining the processing result of a subtask to be processed, if the processing end time is after the preset time, a second computing power node whose available computing power resources are greater than the preset computing power resources can be determined, and the processing result of the subtask processed by the first computing power node and the subtask information of other subtasks to be processed among the multiple subtasks to be processed, except for the processed subtasks, are sent to the second computing power node. Among them, the task information includes multiple subtask information corresponding to the multiple subtasks to be processed one by one. The multiple subtasks to be processed are obtained by splitting the tasks to be processed.

[0007] Optionally, a method for obtaining task information of a pending task specifically includes: when the multiple pending subtasks are all the pending subtasks obtained by splitting the pending task, receiving task information sent by the task publishing node; or, when the multiple pending subtasks are part of the pending subtasks obtained by splitting the pending task, receiving multiple subtask information and a processing result of the first subtask sent by a third computing power node; the third computing power node is a computing power node that processes the first subtask; the first subtask is: a subtask that is located before the first pending subtask in the part of the pending subtasks after all the pending subtasks are sorted according to a preset processing logic.

[0008] Optionally, when the multiple subtasks to be processed are all the subtasks to be processed obtained by splitting the tasks to be processed, before receiving the task information sent by the task publishing node, the task processing method also includes: obtaining summary information of the tasks to be processed published by the task publishing node; the summary information includes computing power resource requirement information, operating environment requirement information and multiple preset times corresponding to the multiple subtasks to be processed; if the available computing power resources of the first computing power node meet the computing power resource requirement information, and the operating environment of the first computing power node meets the operating environment requirement information, publishing a task acceptance message for indicating that the task is accepted; when the first computing power node is determined by the task publishing node as the computing power node that undertakes the task to be processed, receiving a node confirmation message issued by the task publishing node; the node confirmation message is used to indicate that the first computing power node is determined as the computing power node that undertakes the task to be processed.

[0009] Optionally, a method for determining a second computing power node whose available computing power resources are greater than preset computing power resources specifically includes: obtaining at least one block to be created generated by at least one node in the blockchain system for determining the second computing power node; at least one node corresponds one-to-one to at least one block to be created; a block to be created includes: a computing power node to be confirmed and pre-recorded summary information; the computing power node to be confirmed is a computing power node used to process other subtasks to be processed; from at least one node, determining a node that meets a first preset condition, and determining the computing power node to be confirmed in the block to be created generated by the node that meets the first preset condition as the second computing power node; the first preset condition includes: the available computing power resources of the computing power node to be confirmed are greater than the preset computing power resources, and the pre-recorded summary information is the summary information of the task to be processed, and the transaction trust value of the node is greater than a preset threshold.

[0010] Optionally, the method of sending to the second computing power node the processing results of the subtasks processed by the first computing power node and the subtask information of the subtasks to be processed other than the subtasks processed by the first computing power node among multiple subtasks to be processed, specifically includes: when the number of blocks connected under the block to be created generated by the node that meets the first preset condition is greater than the first preset number, sending to the second computing power node the processing results of the subtasks processed by the first computing power node and the subtask information of the subtasks to be processed other than the subtasks processed by the first computing power node among multiple subtasks to be processed.

[0011] Optionally, the blockchain system also includes an identity authentication server. The identity authentication server is used to store the node identities of the task issuing node and multiple computing nodes. The task processing method also includes: when the number of error messages issued by the fourth computing node is greater than the second preset number, issuing an identity disclosure request for revealing the node identity of the fourth computing node; the error information includes: at least one of spam, task delegation failure information or task forwarding error information; the identity disclosure request includes: the node identification of the fourth computing node and the log record corresponding to the error information; receiving response messages issued by other nodes in the blockchain system; the response message includes a response message agreeing to reveal the node identity of the fourth computing node, or a response message disagreeing to reveal the node identity of the fourth computing node; when the number of response messages agreeing to reveal the node identity of the fourth computing node is greater than or equal to the third preset number, receiving an identity disclosure message issued by the identity authentication server; the identity disclosure message includes the node identity of the fourth computing node; or, when the number of response messages disagreeing to reveal the node identity of the fourth computing node is greater than or equal to the third preset number, receiving a rejection message issued by the identity authentication server for refusing to reveal the node identity of the fourth computing node.

[0012] Optionally, the task processing method also includes: when an update message issued by any node in the blockchain system is received, recording the update message; the update message is any one of a task end message, a task release message, a block creation message, a task acceptance message, a node confirmation message, an identity disclosure message, a response message, an identity disclosure message and a rejection message; the task end message includes the processing end time of determining the task processing result issued by any node; the task release message includes the summary information of the task issued by any node; the block creation message includes a message used to indicate that a block to be created has been generated by any node; and the update message is stored in the corresponding block.

[0013] In the second aspect, a task processing device is provided, which is applied to a first computing power node; the first computing power node belongs to a blockchain system including a task publishing node for publishing tasks to be processed and multiple computing power nodes. The task processing device includes: an acquisition unit and a determination unit; the acquisition unit is used to acquire task information of the task to be processed; the task information includes multiple subtask information corresponding to multiple subtasks to be processed one by one; the multiple subtasks to be processed are obtained by splitting the tasks to be processed; the determination unit is used to determine the processing result of a subtask to be processed among the multiple subtasks to be processed, and publish the processing end time of determining the processing result of a subtask to be processed; if the processing end time is after the preset time, the determination unit is also used to determine the second computing power node whose available computing power resources are greater than the preset computing power resources, and send the processing result of the subtask processed by the first computing power node and the subtask information of other subtasks to be processed among the multiple subtasks to be processed, except for the subtasks processed by the first computing power node, to the second computing power node.

[0014] Optionally, the acquisition unit is specifically used to: when the multiple sub-tasks to be processed are all the sub-tasks to be processed obtained by splitting the task to be processed, receive the task information sent by the task publishing node; or, when the multiple sub-tasks to be processed are part of the sub-tasks to be processed obtained by splitting the task to be processed, receive the multiple sub-task information sent by the third computing power node and the processing result of the first sub-task; the third computing power node is the computing power node that processes the first sub-task; the first sub-task is: the sub-task that is located before the first sub-task to be processed in the part of the sub-tasks to be processed after all the sub-tasks to be processed are sorted according to the preset processing logic.

[0015] Optionally, when the multiple subtasks to be processed are all the subtasks to be processed obtained by splitting the tasks to be processed, the task processing device also includes: a first publishing unit and a first receiving unit; the acquisition unit is also used to obtain summary information of the tasks to be processed published by the task publishing node; the summary information includes computing power resource requirement information, operating environment requirement information and multiple preset times corresponding to the multiple subtasks to be processed; if the available computing power resources of the first computing power node meet the computing power resource requirement information, and the operating environment of the first computing power node meets the operating environment requirement information, the first publishing unit is used to publish a task acceptance message for indicating that the task is accepted for processing; the first receiving unit is used to receive a node confirmation message issued by the task publishing node when the first computing power node is determined by the task publishing node as the computing power node that undertakes the task to be processed; the node confirmation message is used to indicate that the first computing power node is determined as the computing power node that undertakes the task to be processed.

[0016] Optionally, determining a second computing power node whose available computing power resources are greater than preset computing power resources includes: an acquisition unit, which is also used to acquire at least one block to be created generated by at least one node in the blockchain system for determining the second computing power node; at least one node corresponds one-to-one to at least one block to be created; a block to be created includes: a computing power node to be confirmed and pre-recorded summary information; the computing power node to be confirmed is a computing power node used to process other subtasks to be processed; the determination unit is also used to determine a node that meets a first preset condition from at least one node, and determine the computing power node to be confirmed in the block to be created generated by the node that meets the first preset condition as the second computing power node; the first preset condition includes: the available computing power resources of the computing power node to be confirmed are greater than the preset computing power resources, and the pre-recorded summary information is the summary information of the task to be processed, and the transaction trust value of the node is greater than a preset threshold.

[0017] Optionally, the processing results of subtasks processed by the first computing power node and subtask information of subtasks to be processed other than the subtasks processed by the first computing power node among multiple subtasks to be processed are sent to the second computing power node, and also includes: a sending unit; a sending unit, which is used to send the processing results of subtasks processed by the first computing power node and subtask information of subtasks to be processed other than the subtasks processed by the first computing power node among multiple subtasks to be processed to the second computing power node when the number of blocks connected under the block to be created generated by the node that meets the first preset condition is greater than the first preset number.

[0018] Optionally, the blockchain system also includes an identity authentication server; the identity authentication server is used to store the node identities of the task issuing node and multiple computing nodes; the task processing method device also includes: a second issuing unit and a second receiving unit; the second issuing unit is also used to issue an identity disclosure request for revealing the node identity of the fourth computing node when the number of error messages issued by the fourth computing node is greater than the second preset number; the error information includes: at least one of spam, task delegation failure information or task forwarding error information; the identity disclosure request includes: the node identification of the fourth computing node and the log record corresponding to the error information; the second receiving unit is also used to receive other nodes in the blockchain system The response message includes a response message agreeing to reveal the node identity of the fourth computing power node, or a response message disagreeing to reveal the node identity of the fourth computing power node; the second receiving unit is also used to receive an identity disclosure message issued by the identity authentication server when the number of response messages agreeing to reveal the node identity of the fourth computing power node is greater than or equal to a third preset number; the identity disclosure message includes the node identity of the fourth computing power node; or, the second receiving unit is also used to receive a rejection message issued by the identity authentication server for refusing to reveal the node identity of the fourth computing power node when the number of response messages disagreeing to reveal the node identity of the fourth computing power node is greater than or equal to the third preset number.

[0019] Optionally, the task processing device also includes: a recording unit and a storage unit; the recording unit is used to record the update message when receiving an update message issued by any node in the blockchain system; the update message is any one of a task end message, a task release message, a block creation message, a task acceptance message, a node confirmation message, an identity disclosure message, a response message, an identity disclosure message and a rejection message; the task end message includes the processing end time of determining the task processing result issued by any node; the task release message includes the summary information of the task issued by any node; the block creation message includes a message used to indicate that a block to be created has been generated by any node; the storage unit is used to store the update message in the corresponding block.

[0020] In a third aspect, a task processing device is provided, comprising a memory and a processor; the memory is used to store computer execution instructions, and the processor is connected to the memory through a bus; when the task processing device is running, the processor executes the computer execution instructions stored in the memory, so that the task processing device performs the task processing method as in the first aspect.

[0021] The task processing may be a network device or a part of a device in a network device, such as a chip system in a network device. The chip system is used to support the network device to implement the functions involved in the first aspect and any possible implementation thereof, for example, receiving, determining, and diverting the data and / or information involved in the above-mentioned data processing method. The chip system includes a chip and may also include other discrete devices or circuit structures.

[0022] In a fourth aspect, a computer-readable storage medium is provided, characterized in that the computer-readable storage medium includes computer execution instructions, and when the computer execution instructions are run on a computer, the computer executes the task processing method of the first aspect.

[0023] It should be noted that the above computer instructions may be stored in whole or in part on a first computer-readable storage medium, wherein the first computer-readable storage medium may be packaged together with the processor of the task processing device, or may be packaged separately from the processor of the task processing device, which is not limited in this application.

[0024] In this application, the name of the task processing device does not limit the device or functional module itself. In actual implementation, these devices or functional modules may appear with other names. As long as the functions of each device or functional module are similar to those of this application, they fall within the scope of the claims of this application and their equivalent technologies.

[0025] These and other aspects of the present application will become more apparent from the following description.

[0026] The technical solution provided by this application brings at least the following beneficial effects:

[0027] Based on any of the above aspects, the present application can split the task to be processed into multiple sub-tasks to be processed, and when the first computing power node determines that the processing end time of the processing result of a sub-task to be processed is after the preset time, the first computing power node is replaced with a second computing power node whose available computing power resources are greater than the preset computing power resources, thereby ensuring that other sub-tasks to be processed can be processed in a timely manner through computing power nodes with more available computing power resources, ensuring the processing time of the tasks to be processed, and improving the processing efficiency of the tasks to be processed. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1A A schematic diagram of a protocol architecture of a blockchain system provided in an embodiment of the present application;

[0029] Figure 1B A schematic diagram of the structure of a blockchain system provided in an embodiment of the present application;

[0030] Figure 2A schematic diagram of a hardware structure of a communication device provided in an embodiment of the present application;

[0031] Figure 3 A schematic diagram of another hardware structure of a communication device provided in an embodiment of the present application;

[0032] Figure 4 A flowchart diagram of a task processing method provided in an embodiment of the present application is shown in FIG1 ;

[0033] Figure 5 A flowchart of a task processing method provided in an embodiment of the present application Figure 2 ;

[0034] Figure 6 A flowchart of a task processing method provided in an embodiment of the present application Figure 3 ;

[0035] Figure 7 A flowchart of a task processing method provided in an embodiment of the present application Figure 4 ;

[0036] Figure 8 A flowchart of a task processing method provided in an embodiment of the present application Figure 5 ;

[0037] Fig. 9 A flowchart of a task processing method provided in an embodiment of the present application Figure 6 ;

[0038] Fig.10 A flowchart of a task processing method provided in an embodiment of the present application Figure 7 ;

[0039] Fig.11 A schematic diagram of the structure of a task processing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0041] It should be noted that, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0042] In order to facilitate a clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and order of execution.

[0043] In addition, the terms "including" and "having" in the embodiments, claims and drawings of the present application are not exclusive. For example, a process, method, system, product or device including a series of steps or modules is not limited to the listed steps or modules, and may also include steps or modules that are not listed.

[0044] In order to facilitate the understanding of the present application, the relevant elements involved in the present application are now described.

[0045] Blockchain Technology

[0046] Blockchain technology, also known as distributed ledger technology, is an emerging technology in which several computing devices jointly participate in "bookkeeping" (i.e. recording transaction data) and jointly maintain a complete distributed database. Blockchain technology has been widely used in many fields because of its decentralization (i.e. no central node), openness and transparency, each computing device can participate in database records, and data can be quickly synchronized between computing devices.

[0047] A blockchain system may include multiple blockchain nodes. A blockchain node is a device with communication and storage functions, such as a device storing a blockchain. For ease of description, this application uses nodes to represent blockchain nodes. In other words, all nodes involved in this application can be used to represent blockchain nodes, such as task release nodes, computing power nodes, etc.

[0048] Each node can both receive and generate information. Different nodes maintain communication by maintaining a common blockchain. Specifically, in a blockchain system, any node can generate a new block based on transaction-related data generated by each node in the blockchain system, and notify other nodes in the form of broadcast, and other nodes can verify the block. When all nodes in the blockchain system reach a consensus, the new block can be added to the blockchain.

[0049] The node in this application can be understood as a processing unit. In one implementation, the node can be a physical device, such as a server or a terminal device. In another implementation, the node can be a virtual computer; a virtual computer is a general term for the operating environment virtualized by software in all types of virtualized devices, and this concept includes virtual machines and containers. In other implementations, a node can be a process or a thread; a thread is the smallest unit that the operating system can perform computational scheduling. A thread is contained in a process and is the actual operating unit in the process; a process is a running activity of a program in a computer on a certain data set, and is the basic unit for resource allocation and scheduling in the system.

[0050] Block

[0051] In blockchain technology, transaction data is permanently stored in the form of electronic records, and the files that store these electronic records are called "blocks."

[0052] Blocks are generated one by one in chronological order. Each block records all transactions that occurred during its creation. All blocks are aggregated to form a chain of records. Since the throughput of nodes in different blockchain systems is different, the size of blocks may also be different in different blockchain systems.

[0053] It can be seen that the block records the transaction data within the time period of the block generation, so the main body of the block is actually a collection of transaction data. The structural design of each blockchain may not be exactly the same, but the block usually consists of two parts: the block header and the block body.

[0054] Among them, the block header is mainly used to record the characteristic value of the current block, which may include at least one of the following information: the identifier of the current block (such as the block number), the hash value of the block body in the current block, a timestamp (used to indicate the generation time of the block), the number of transactions (transaction count) and a random number (nonce). In addition, the block header may also include the hash value of the previous block (specifically the hash value of the block header in the previous block).

[0055] The block header includes multiple feature values. When determining the hash value of the block, it is necessary to connect the feature values ​​in the block header in order to form a string, and then calculate the hash value of the string. Since the values ​​of the feature values ​​included in the block headers of different blocks are usually different, each block uniquely corresponds to a hash value.

[0056] Since each block uniquely corresponds to a hash value and the block header of each block includes the hash value of the previous block, multiple blocks can form a blockchain.

[0057] A block can contain multiple transaction data.

[0058] As described in the background technology, when processing time-sensitive computing tasks, there is no relevant solution defined in the computing network to ensure that such computing tasks are completed within the specified time.

[0059] In response to the above problems, an embodiment of the present application provides a task processing method, which can split a task to be processed into multiple sub-tasks to be processed, and when the first computing power node determines that the processing end time of the processing result of a sub-task to be processed is after a preset time, the first computing power node is replaced with a second computing power node whose available computing power resources are greater than the preset computing power resources, thereby ensuring that other sub-tasks to be processed can be processed in a timely manner by computing power nodes with more available computing power resources, ensuring the processing time of the tasks to be processed, and improving the processing efficiency of the tasks to be processed.

[0060] The architecture of the blockchain system provided in the embodiments of the present application may include a network layer, a computing power layer, a consensus layer, and an application layer. Figure 1A A schematic diagram of a protocol architecture of a blockchain system provided by an embodiment of the present application is shown. Figure 1A Describe the protocol architecture of the blockchain system.

[0061] The network layer is used to realize information exchange between nodes in the blockchain network. The blockchain system is essentially a peer-to-peer (P2P) network system. Each node not only receives information but also generates information. Nodes maintain communication by maintaining a common blockchain. In the blockchain system, nodes can create new blocks. After the new blocks are created, they will notify other nodes in the form of broadcast. Other nodes will verify the blocks. When all nodes in the blockchain system reach a consensus, the new blocks can be added to the blockchain.

[0062] The computing power layer provides computing power resources in the blockchain system, processes pending tasks in the blockchain system, and generally provides an application programming interface (API) for calling. Technically speaking, the computing power layer mainly includes network programming, distributed algorithms, and encryption signatures.

[0063] Furthermore, the computing power layer also describes the storage form of blockchain data. Specifically, the computing power layer can include chain storage technology for block data, including timestamp technology, hash verification technology, etc.; it can also include the implementation method of the database and the interface implementation of the node calling the database.

[0064] Above the computing power layer is the consensus layer, which provides the functional implementation of the blockchain system based on the computing power layer. Through the basic capabilities provided by the computing power layer, the consensus layer can realize the recording of transaction data in the blockchain system and the control of the blockchain system. For example, smart contracts are a typical application of the consensus layer. Nodes can automatically execute contracts after certain conditions are met through the deployed smart contracts. For another example, the virtual currency trading market specifies the transaction method of virtual currency and the implementation details of the process through script encapsulation, which is also implemented in the consensus layer.

[0065] Above the consensus layer is the application layer, which encapsulates various application scenarios and cases of blockchain. The application layer is used to implement blockchain functions that interact directly with users, mostly in the form of clients.

[0066] In different blockchain systems, the specific implementation methods of each layer of the blockchain system architecture may vary. Figure 1A It is a schematic diagram of the protocol architecture of the blockchain system, not a limitation of the protocol architecture of the blockchain system.

[0067] Figure 1B A schematic diagram of the structure of the blockchain system 100 is shown. Figure 1B As shown, the blockchain system 100 includes: a task publishing node 101, multiple computing nodes 102 and an identity authentication server 103. Figure 1B The blockchain system shown has Figure 1A The protocol architecture is shown.

[0068] like Figure 1B As shown, based on the communication characteristics of the blockchain, each node device in the blockchain system 100 can be communicated with each other.

[0069] Optionally, the blockchain system 100 may include multiple task issuing nodes.

[0070] Figure 1B The nodes in the blockchain system 100 shown may include two types of nodes, namely: task publishing node 101 and computing power node 102.

[0071] Figure 1B The task publishing node 101 shown is also called a user node. In addition to being a medium for users to publish pending tasks in the blockchain system, the task publishing node 101 can also record transaction data, add blocks, delete blocks, and allocate computing nodes for processing pending tasks based on the consensus mechanism in the blockchain system 100 (such as the proof of stake (POS) consensus mechanism), that is, participate in the consensus.

[0072] Figure 1B The multiple computing nodes 102 in the blockchain system 100 shown have the same functions as the task issuing node 101, and can also provide input / output (IO) processing capabilities in the blockchain system, that is, provide computing resources to process pending tasks in the blockchain system.

[0073] It is understandable that all nodes in the blockchain system 100 are task issuing nodes (ie user nodes). When task issuing nodes provide computing resources in the blockchain system, these task issuing nodes providing computing resources are also called computing nodes.

[0074] Exemplarily, Table 1 shows the functions of a computing power node and a task publishing node.

[0075] Table 1

[0076] Node Type Providing computing resources Publish pending tasks Participate in consensus Computing Node √ √ √ Task release node √ √

[0077] Optional, Figure 1B The task publishing node 101 and the multiple computing nodes 102 shown may be terminals, servers, or other electronic devices for publishing tasks to be processed.

[0078] When the task issuing node 101 and the multiple computing nodes 102 are terminals, the terminal refers to a device that provides voice and / or data connectivity to a user, a handheld device with a wireless connection function, or other processing devices connected to a wireless modem. The wireless terminal can communicate with one or more core networks via a radio access network (RAN). The wireless terminal can be a mobile terminal, such as a computer with a mobile terminal, or a portable, pocket-sized, handheld, or computer-built-in mobile device that exchanges language and / or data with a radio access network, such as a mobile phone, tablet computer, laptop computer, netbook, or personal digital assistant (PDA). The embodiments of the present application do not impose any restrictions on this.

[0079] When the task issuing node 101 and the multiple computing nodes 102 are servers, they can be a single server, or a server cluster composed of multiple servers. In some implementations, the server cluster can also be a distributed cluster. This application embodiment does not impose any restrictions on this.

[0080] Figure 1B The identity authentication server 103 shown can be used to store the node identities of the task issuing node 101 and multiple computing nodes 102.

[0081] Optional, Figure 1BThe illustrated identity authentication server 103 may also provide identity registration services for nodes applying to join the blockchain system 100. For example, after obtaining the public key, private key, and identity information of the node applying to join the blockchain system 100, the identity authentication server 103 may provide the node with a public key certificate so that the node can communicate with other nodes in the blockchain system 100 based on the public key certificate.

[0082] Optional, Figure 1B The identity authentication server 103 shown can also be used to reveal the identity information of the node that publishes false information in the blockchain system 100.

[0083] The basic hardware structures of the task issuing node 101, the multiple computing nodes 102 and the identity authentication server 103 in the blockchain system 100 are similar, and all include Figure 2 or Figure 3 The components included in the communication device shown are described below. Figure 2 and Figure 3 Taking the communication device shown as an example, the hardware structure of the task publishing node 101, multiple computing nodes 102 and the identity authentication server 103 is introduced.

[0084] like Figure 2 , which is a schematic diagram of a hardware structure of a communication device provided in an embodiment of the present application. The communication device includes a processor 21, a memory 22, a communication interface 23, and a bus 24. The processor 21, the memory 22, and the communication interface 23 can be connected via a bus 24.

[0085] The processor 21 is the control center of the communication device, which can be a processor or a general term for multiple processing elements. For example, the processor 21 can be a general-purpose central processing unit (CPU) or other general-purpose processors. Among them, the general-purpose processor can be a microprocessor or any conventional processor.

[0086] As an embodiment, the processor 21 may include one or more CPUs, such as Figure 2 CPU0 and CPU1 are shown in the figure.

[0087] The memory 22 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.

[0088] In a possible implementation, the memory 22 may exist independently of the processor 21, and the memory 22 may be connected to the processor 21 via a bus 24 to store instructions or program codes. When the processor 21 calls and executes the instructions or program codes stored in the memory 22, the task processing method provided in the following embodiments of the present application can be implemented.

[0089] In the embodiment of the present application, for the task issuing node 101, the multiple computing nodes 102 and the identity authentication server 103, the software programs stored in the memory 22 are different, so the tasks issuing node 101, the multiple computing nodes 102 and the identity authentication server 103 implement different functions. The functions performed by each device will be described in conjunction with the following flowchart.

[0090] In another possible implementation, the memory 22 may also be integrated with the processor 21 .

[0091] The communication interface 23 is used for the communication device to connect with other devices through a communication network, and the communication network may be Ethernet, wireless access network, wireless local area network (WLAN), etc. The communication interface 23 may include a receiving unit for receiving data and a sending unit for sending data.

[0092] The bus 24 may be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 2Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0093] It should be pointed out that Figure 2 The structure shown in the figure does not constitute a limitation on the communication device. Figure 2 In addition to the components shown, the communication device may include more or fewer components than shown, or combine certain components, or arrange the components differently.

[0094] Figure 3 FIG. 2 shows another hardware structure of the communication device in the embodiment of the present application. Figure 3 As shown, the communication device may include a processor 31 and a communication interface 32. The processor 31 is coupled to the communication interface 32.

[0095] The functions of the processor 31 may refer to the description of the processor 21. In addition, the processor 31 also has a storage function and can function as the memory 22 described above.

[0096] The communication interface 32 is used to provide data to the processor 31. The communication interface 32 may be an internal interface of the communication device, or an external interface of the communication device (equivalent to the communication interface 23).

[0097] It should be pointed out that Figure 2 (or Figure 3 ) does not constitute a limitation on the communication device, except Figure 2 (or Figure 3 ) In addition to the components shown in the figure, the communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0098] like Figure 4 The figure is a flowchart of a task processing method provided in an embodiment of the present application. The task processing method is applied to the first computing power node. The first computing power node belongs to Figure 1B The blockchain system shown. The task processing method includes: S401-S403.

[0099] S401. The first computing power node obtains task information of a task to be processed.

[0100] The task information includes a plurality of subtask information corresponding to the plurality of to-be-processed subtasks one by one. The plurality of to-be-processed subtasks are obtained by splitting the to-be-processed task.

[0101] Since the pending task can be split into multiple pending subtasks, the first computing power node can process them in sequence according to the logical processing order of all the pending subtasks in the pending task.

[0102] Optionally, the first computing power node may be the first computing power node to process the pending task. In this case, the plurality of pending subtasks are all pending subtasks obtained by splitting the pending task. In this way, the first computing power node may receive the task information of the pending task sent by the task issuing node.

[0103] Correspondingly, the first computing power node may also be the Nth (N is an integer greater than 1) computing power node that processes the pending task. In this case, the multiple pending subtasks are parts of the pending subtasks obtained by splitting the pending task. In this way, the first computing power node can receive the multiple subtask information sent by the third computing power node and the processing result of the first subtask.

[0104] The third computing power node is a computing power node for processing the first subtask. The first subtask is: after all the subtasks to be processed are sorted according to the preset processing logic, the subtask that is located before the first subtask to be processed among the multiple subtasks to be processed.

[0105] S402. The first computing power node determines a processing result of a subtask to be processed among multiple subtasks to be processed, and publishes a processing end time of determining the processing result of the subtask to be processed.

[0106] A pending subtask is any pending subtask among the multiple pending subtasks.

[0107] Optionally, one of the multiple subtask information may include: a task program of a pending subtask corresponding to the subtask information and a startup script corresponding to the task program. In this way, after receiving the task information sent by the task publishing node, the first computing power node can parse the task information to determine the multiple subtask information, and run the task programs of the multiple pending subtasks in accordance with the startup scripts of the multiple pending subtasks in the multiple subtask information, thereby determining the processing results of the multiple pending subtasks.

[0108] It can be understood that if multiple subtasks to be processed are obtained by splitting the task publishing node according to the processing logic of the tasks to be processed, the first computing power node can run the task program of the first subtask to be processed according to the startup script of the first subtask to be processed, so as to determine the processing result of the first subtask.

[0109] Subsequently, the first computing power node may run the task program of the subtask to be processed adjacent to the first subtask to be processed based on the processing result of the first subtask to be processed and the startup script of the subtask to be processed adjacent to the first subtask to be processed, thereby determining the processing result of the subtask to be processed adjacent to the first subtask to be processed, until the processing results of multiple subtasks to be processed are determined.

[0110] Specifically, after determining the processing result of a pending subtask, the first computing power node can read the summary information of the pending task recorded in the temporary account book to determine the preset time corresponding to the pending subtask in the summary information.

[0111] Next, the first computing node can determine whether the processing end time corresponding to a pending subtask is after the preset time corresponding to the pending subtask. If so, the first computing node stops processing the unprocessed pending subtasks among the multiple pending subtasks, and adds the timeout information corresponding to the pending subtask in the temporary account book. If not, the first computing node continues to process the unprocessed pending subtasks among the multiple pending subtasks.

[0112] It is understandable that after determining the processing result of a pending subtask, the first computing power node may also publish the processing end time of determining the processing result of a pending subtask. Accordingly, other nodes in the blockchain system may receive the processing end time of determining the processing result of a pending subtask, and read the summary information of the pending task recorded in the temporary account book to determine the preset time corresponding to a pending subtask in the summary information.

[0113] Then, other nodes in the blockchain system can determine whether the processing end time corresponding to a pending subtask is after the preset time corresponding to a pending subtask. If so, other nodes in the blockchain system can add a timeout completion mark corresponding to a pending subtask in the temporary account book. If not, no processing is performed.

[0114] Optionally, when a block recording information generated in the current time period is created, all nodes in the blockchain system may store a timeout completion identifier corresponding to a pending subtask recorded in a temporary ledger in the current block.

[0115] Subsequently, the node that generates the next block after the current block can obtain the timeout completion flag corresponding to a pending subtask from the current block, and determine the summary information of the pending task to which a pending subtask belongs, thereby allocating a new computing power node to the pending task to ensure that the pending task is completed on time.

[0116] In this way, in the embodiment of the present application, all nodes in the blockchain system can jointly record multiple processing end times corresponding to multiple subtasks to be processed, thereby reliably supervising the processing process of the tasks to be processed.

[0117] Exemplarily, the processing logic of the preset pending task A is to process task program 1, task program 2 and task program 3 in sequence, then the task release node can split the pending task A into pending subtask 1, pending subtask 2 and pending subtask 3. Among them, the subtask information of the pending subtask 1 is task program 1 and the startup script corresponding to task program 1, the subtask information of the pending subtask 2 is task program 2 and the startup script corresponding to task program 2, and the subtask information of the pending subtask 3 is task program 3 and the startup script corresponding to task program 3.

[0118] Then, after obtaining the subtask information of the subtask 1 to be processed, the subtask information of the subtask 2 to be processed, and the subtask information of the subtask 3 to be processed sent by the task publishing node, the first computing power node can run the task program 1 of the subtask 1 to be processed according to the startup script of the subtask 1 to be processed, thereby determining the processing result of the subtask 1 to be processed, and broadcast the processing end time of the processing result of the subtask 1 to be processed.

[0119] Next, the first computing power node may run task program 2 of subtask 2 to be processed according to the processing result of subtask 1 to be processed and the startup script of subtask 2 to be processed, thereby determining the processing result of subtask 2 to be processed, and broadcasting the processing end time of the processing result of subtask 2 to be processed. Then, the first computing power node may run task program 3 of subtask 3 to be processed according to the processing result of subtask 2 to be processed and the startup script of subtask 3 to be processed, thereby determining the processing result of subtask 3 to be processed, and broadcasting the processing end time of the processing result of subtask 1 to be processed.

[0120] Optionally, the first computing power node may publish a message summary of the processing result of a pending subtask while publishing the processing end time of the processing result of the pending subtask, so as to enable the node that receives the processing result of the pending subtask to determine the correctness and completeness of the processing result of the pending subtask.

[0121] Optionally, the message digest of the processing result may be generated based on an existing message digest algorithm (eg, algorithms such as MD5 and SHA1).

[0122] S403. If the processing end time is after the preset time, the first computing power node determines a second computing power node whose available computing power resources are greater than the preset computing power resources, and sends to the second computing power node the processing results of the subtasks processed by the first computing power node and the subtask information of other subtasks to be processed among multiple subtasks to be processed, except for the subtasks processed by the first computing power node.

[0123] Specifically, if the processing end time is after the preset time, the first computing power node can stop processing the unprocessed pending subtasks among the multiple pending subtasks, and add a timeout completion mark corresponding to a pending subtask in the temporary account book.

[0124] Next, the first computing power node can determine a second computing power node whose available computing power resources are greater than the preset computing power resources, and send to the second computing power node the processing results of the subtasks processed by the first computing power node and the subtask information of other subtasks to be processed among multiple subtasks to be processed, except for the subtasks processed by the first computing power node, so as to transfer the other subtasks to be processed to the second computing power node with more computing power resources for processing, thereby ensuring the processing efficiency of the tasks to be processed.

[0125] In one achievable approach, combining Figure 4 ,like Figure 5 In the above S401, the method for the first computing power node to obtain the task information of the task to be processed specifically includes: S501-S502.

[0126] S501. When the plurality of to-be-processed subtasks are all to-be-processed subtasks obtained by splitting a to-be-processed task, the first computing power node receives task information sent by a task issuing node.

[0127] Specifically, when the task issuing node needs to issue a pending task in the blockchain system and determines that the first computing node is the computing node that undertakes the pending task, the task issuing node can split the pending task into multiple pending subtasks according to the processing logic of the pending task and issue the task information of the pending task to send the task information of the pending task to the first computing node.

[0128] Correspondingly, the first computing power node can obtain the task information of the pending tasks sent by the task publishing node.

[0129] S502: When the plurality of to-be-processed subtasks are partial to-be-processed subtasks obtained by splitting the to-be-processed task, the first computing power node receives the plurality of subtask information and the processing result of the first subtask sent by the third computing power node.

[0130] Specifically, when the plurality of to-be-processed subtasks are partial to-be-processed subtasks obtained by splitting the to-be-processed task, it means that the first subtask of all to-be-processed subtasks obtained by splitting the to-be-processed task has been processed by the third computing power node.

[0131] After the third computing power node determines the processing result of the last subtask in the first subtask that is sorted according to the preset processing logic, the third computing power node can publish the processing end time corresponding to the last subtask.

[0132] If the processing end time corresponding to the last subtask is after the preset time corresponding to the last subtask, the third computing power node can determine the first computing power node whose available computing power resources are greater than the preset computing power resources, and send the processing result of the first subtask to the first computing power node, as well as the subtask information of other subtasks to be processed among multiple subtasks to be processed except the first subtask.

[0133] Correspondingly, the first computing power node can receive the processing result of the first subtask sent by the third computing power node, as well as the subtask information of other subtasks to be processed except the first subtask among the multiple subtasks to be processed.

[0134] It should be noted that S501 and S502 are two different situations in which the first computing power node obtains task information of multiple to-be-processed subtasks. When S501 is executed, S502 is not executed; when S502 is executed, S501 is not executed.

[0135] In one achievable approach, combining Figure 5 ,like Figure 6 Described, before the first computing power node receives the task information sent by the task issuing node, the task processing method further includes: S601-S603.

[0136] S601. The first computing power node obtains summary information of the pending tasks issued by the task issuing node.

[0137] It should be understood that the method for the first computing power node to obtain the summary information of the pending tasks issued by the task issuing node can refer to the description in S401 and will not be repeated here.

[0138] Specifically, when a task issuing node needs to issue pending tasks to the blockchain system, it can generate and issue summary information of pending tasks to determine the computing nodes that can undertake the pending tasks. Correspondingly, other nodes in the blockchain system can receive the summary information of pending tasks issued by the task issuing node and record the summary information of pending tasks in a pre-configured temporary account book.

[0139] It should be noted that the task release node and multiple computing nodes are configured with temporary ledgers for real-time storage of information generated in the blockchain system. Later, when a new block is generated, the task release node and multiple computing nodes can store the information generated during the creation of the block in the temporary ledger. The task release node and multiple computing nodes store blockchains, and all nodes in the blockchain system store the same blockchain, which can be a consortium chain.

[0140] The summary information may include computing resource requirement information of the task to be processed, operating environment requirement information, and multiple preset times corresponding to multiple subtasks to be processed.

[0141] The computing power resource requirement information can be used to indicate the total computing power resources required to process the tasks to be processed.

[0142] The operating environment requirement information may include information such as the file size, software environment, and hardware environment of the task information of the task to be processed. The file size can be used to determine whether the computing power node meets the memory requirements of the task information of the task to be processed. The software environment and hardware environment can be used to determine whether the computing power node meets the software and hardware requirements of the task to be processed.

[0143] A preset time may be used to indicate a processing time threshold of a to-be-processed subtask corresponding to the preset time.

[0144] Optionally, the summary information of the task to be processed may also include multiple message summaries corresponding to multiple subtask information one by one, which are used for the node that obtains the multiple subtask information to determine the correctness and completeness of the multiple subtask information.

[0145] Optionally, the multiple message digests may be generated based on an existing message digest algorithm (eg, an MD5 message-digest algorithm (MD5) and a secure hash algorithm (SHA1) and other algorithms).

[0146] S602: If the available computing resources of the first computing power node meet the computing resource demand information, and the operating environment of the first computing power node meets the operating environment demand information, the first computing power node publishes a task acceptance message for indicating that it has accepted the task to be processed.

[0147] Specifically, after receiving the summary information of the pending tasks published by the task publishing node, the multiple computing nodes in the blockchain system can parse the summary information of the pending tasks to determine the computing resource requirement information, operating environment requirement information and multiple preset times corresponding to the multiple pending subtasks.

[0148] Then, when the available computing resources of at least one computing node (including the first computing node) among the multiple computing nodes meet the computing resource requirement information of the task to be processed, and the operating environment of at least one computing node meets the operating environment requirement information of the task to be processed, at least one computing node can publish a task acceptance message to indicate the acceptance of the task to be processed.

[0149] S603. When the first computing power node is determined by the task issuing node as the computing power node that undertakes the task to be processed, the first computing power node receives a node confirmation message issued by the task issuing node.

[0150] Among them, the node determination message is used to indicate that the first computing power node is determined as the computing power node that undertakes the processing task.

[0151] Optionally, after receiving the task acceptance message issued by at least one computing power node, the task issuing node can read the node information corresponding to at least one computing power node from the blockchain, and determine the computing power node that undertakes the task to be processed based on the node information.

[0152] When the first computing node among the at least one computing node is determined by the task issuing node as the computing node to undertake the task to be processed, the task issuing node may send the task information of the task to be processed to the first computing node. Correspondingly, the first computing node may obtain the task information of the task to be processed sent by the task issuing node.

[0153] The node information of a computing power node may include information such as available computing power resource information and operating environment information of a computing power node. For example, the task issuing node may determine the computing power node with the most available computing power resources as the computing power node that undertakes the task to be processed.

[0154] It should be noted that each of the multiple computing nodes in the blockchain system can publish information indicating the available computing resources corresponding to the computing node when joining the blockchain system, so as to facilitate the allocation of tasks to be processed by other nodes in the blockchain system. Subsequently, when the available computing resources of each of the multiple computing nodes increase or decrease, resource update information indicating the increase or decrease of available computing resources can also be published.

[0155] Exemplarily, the preset task publishing node A publishes the summary information of the pending task 1 in the blockchain system. In addition, the available computing resources of the first computing node B, computing node C, and computing node D meet the computing resource requirement information of the pending task 1, and the operating environment meets the operating environment requirement information of the pending task 1. Then the first computing node B, computing node C, and computing node D can publish the task acceptance message in the blockchain system.

[0156] Next, after the task issuing node A receives the task acceptance message issued by the first computing node B, computing node C and computing node D, it can read from the blockchain that the available computing power resources of the first computing node B are 8 gigahertz (GHz), the available computing power resources of computing node C are 7 GHz and the available computing power resources of computing node D are 4 GHz.

[0157] Next, task issuing node A may determine the first computing node B with the most available computing resources as the computing node to undertake the to-be-processed task 1, and send the task information of the to-be-processed task 1 to the first computing node B. Correspondingly, the first computing node B may obtain the task information of the to-be-processed task 1 sent by task issuing node A.

[0158] In one possible implementation, Figure 7 As shown, the method for a first computing power node to determine a second computing power node whose available computing power resources are greater than preset computing power resources specifically includes: S701-S702.

[0159] S701. The first computing power node obtains at least one block to be created, generated by at least one node in the blockchain system, for determining the second computing power node.

[0160] Among them, at least one node corresponds to at least one block to be created. A block to be created includes: a computing power node to be confirmed and pre-recorded summary information. The computing power node to be confirmed is a computing power node used to process other subtasks to be processed.

[0161] Specifically, if the processing end time of a pending subtask published by the first computing power node is after the preset time corresponding to the pending subtask, the first computing power node adds a timeout completion mark corresponding to the pending subtask in the temporary account book. Subsequently, the first computing power node can add the timeout completion mark to the current block.

[0162] Next, when the current block is generated, at least one node in the blockchain system that is ready to compete for the right to generate the next block after the current block can determine whether a timeout completion flag is recorded in the current block.

[0163] If yes, at least one node in the blockchain system can read the summary information of the pending task corresponding to a pending subtask recorded in advance from the temporary account book, and determine the computing power node whose available computing power resource information in the blockchain system is greater than the preset computing power resource from the temporary account book as the computing power node to be confirmed. The preset computing power resource can be a preset multiple (for example, 1.2 times or 1.5 times, etc.) of the available computing power resource of the first computing power node.

[0164] Then, each of the at least one node may publish a block to be created corresponding to it. Correspondingly, the first computing power node may receive at least one block to be created published by the at least one node.

[0165] S702. The first computing power node determines a node that meets a first preset condition from at least one node, and determines a computing power node to be confirmed in a block to be created generated by the node that meets the first preset condition as a second computing power node.

[0166] Among them, the first preset condition includes: the available computing power resources of the computing power node to be confirmed are greater than the preset computing power resources, and the pre-recorded summary information is the summary information of the task to be processed, and the transaction trust value of the computing power node is greater than the preset threshold.

[0167] Specifically, after receiving at least one block to be created, the first computing power node can read the behavior history record of at least one node corresponding to the at least one block to be created (such as transaction trust value and time of joining the blockchain system, etc.), and select a node that meets the behavior requirements (such as the highest transaction trust value) from at least one node as a candidate node.

[0168] Among them, the transaction trust value can be used as a reference value of the node's reputation in the blockchain system. When a new block is generated in the blockchain system, the node responsible for generating the block needs to consume a fourth preset amount of transaction trust value. At the same time, other nodes in the blockchain system that generate the block with parameters can obtain a fifth preset amount of transaction trust value. The fourth preset amount and the fifth preset amount can be preset manually based on experience.

[0169] Next, the first computing power node can determine whether the summary information of the pending tasks recorded in the block to be created corresponding to the candidate node is correct based on the summary information of the pending tasks recorded in the temporary account book, and can read the node information of the second computing power node from the blockchain to determine whether the available computing power resources of the second computing power node are greater than the preset computing power resources and whether the operating environment of the second computing power node meets the operating environment requirement information of the pending tasks.

[0170] Then, when the summary information of the task to be processed recorded in the block to be created corresponding to the candidate node is correct, and the available computing resources of the second computing power node are greater than the preset computing resources, and the operating environment of the second computing power node meets the operating environment requirement information of the task to be processed, the first computing power node can add the block to be created corresponding to the candidate node after the current block, to indicate the election of the candidate node as the node for generating the next block.

[0171] It can be understood that after other nodes in the blockchain system receive at least one block to be created issued by at least one node, the way in which the node that generates the next block is elected from at least one node can refer to the way in which the first computing power node elects a candidate node as the node that generates the next block, which will not be repeated here.

[0172] Optionally, any node in the blockchain system may issue a node confirmation message when determining that the candidate node is the node for generating the next block. Correspondingly, the first computing power node may receive node confirmation messages issued by other nodes in the blockchain system.

[0173] When the number of times a candidate node is elected is the largest among at least one node, it means that the candidate node is determined as the node to generate the next block in the blockchain system. Subsequently, the first computing power node may send the processing results of the subtasks processed by the first computing power node and the subtask information of other unprocessed subtasks among the multiple unprocessed subtasks, excluding the subtasks processed by the first computing power node, to the second computing power node.

[0174] In an implementable manner, the method for the first computing power node to send the processing results of the subtasks processed by the first computing power node and the subtask information of other unprocessed subtasks among the multiple unprocessed subtasks, excluding the subtasks processed by the first computing power node, to the second computing power node specifically includes: S801.

[0175] S801. When the number of blocks connected to the to-be-created block generated by the node that meets the first preset condition is greater than the first preset number, the first computing power node sends the processing results of the subtasks processed by the first computing power node and the subtask information of other unprocessed subtasks among the multiple unprocessed subtasks, excluding the subtasks processed by the first computing power node, to the second computing power node.

[0176] Optionally, the first preset number may be determined according to the number of nodes in the blockchain system.

[0177] Exemplarily, when the number of nodes in the blockchain system is less than or equal to 100, the first preset number may be 6.

[0178] When the number of nodes in the blockchain system is greater than 100, the block security threshold may be set manually according to experience to indicate that when the number of blocks connected to a block in the blockchain system is greater than the first preset number, the probability that the block is tampered with is less than the block security threshold. The number of nodes in the blockchain system, the system security threshold, and the first preset number satisfy the first formula. The first formula is:

[0179]

[0180] where h is the first preset number, S (0 < S < 1) is the system security threshold, and n is the number of nodes in the blockchain system. In an implementable manner, as Figure 8 shown, the task processing method further includes: S901 - S904.

[0181] S901. When the number of error messages published by the fourth computing power node is greater than the second preset number, the first computing power node publishes an identity disclosure request for revealing the node identity of the fourth computing power node.

[0182] Specifically, when the first computing power node receives error information published by the fourth computing power node in the blockchain system, the log record of the information published by the fourth computing power node can be read from the blockchain.

[0183] When it is determined that the amount of error information published by the fourth computing power node is greater than the second preset amount, the first computing power node may publish an identity disclosure request for disclosing the node identity of the fourth computing power node.

[0184] The error information includes: at least one of: junk information, task delegation failure information, or task forwarding error information. The identity disclosure request includes: the node identifier of the fourth computing power node and a log record corresponding to the error information.

[0185] S902. The first computing power node receives response messages issued by other nodes in the blockchain system.

[0186] The response message includes a response message agreeing to reveal the node identity of the fourth computing power node, or a response message disagreeing to reveal the node identity of the fourth computing power node.

[0187] It is understandable that the identity authentication server can receive response messages issued by any node in the blockchain system, and count the number of response messages that agree to reveal the node identity of the fourth computing power node, and the number of response messages that disagree to reveal the node identity of the fourth computing power node.

[0188] When the number of response messages agreeing to reveal the node identity of the fourth computing power node is greater than or equal to the third preset number, the identity authentication server may issue an identity disclosure message, wherein the identity disclosure message includes the node identity of the fourth computing power node.

[0189] Alternatively, when the number of response messages that disagree to reveal the node identity of the fourth computing power node is greater than or equal to a third preset number, the identity authentication server may issue a rejection message for refusing to reveal the node identity of the fourth computing power node.

[0190] S903. When the number of response messages agreeing to reveal the node identity of the fourth computing power node is greater than or equal to the third preset number, the first computing power node receives the identity disclosure message issued by the identity authentication server.

[0191] S904. When the number of response messages disagreeing to reveal the node identity of the fourth computing power node is greater than or equal to the third preset number, the first computing power node receives a rejection message issued by the identity authentication server for refusing to reveal the node identity of the fourth computing power node.

[0192] It should be noted that S903 and S904 are two different situations in which the first computing power node receives an identity disclosure message or a rejection message issued by the identity authentication server. When S903 is executed, S904 is not executed; when S904 is executed, S903 is not executed.

[0193] In one possible implementation, Fig. 9 As shown, the task processing method also includes: S1001-S1002.

[0194] S1001. When receiving an update message issued by any node in the blockchain system, the first computing power node records the update message.

[0195] Among them, the update message is any one of a task end message, a task release message, a block creation message, a task acceptance message, a node confirmation message, an identity disclosure message, a response message, an identity disclosure message and a rejection message.

[0196] The task end message includes the processing end time of the determined task processing result issued by any node. The task release message includes the summary information of the task issued by any node. The block creation message is used to indicate that any node has generated a block to be created.

[0197] Optionally, the update message can also be any other message released by a node in the blockchain system to the blockchain system. For example, the operator can build a consortium chain based on actual business needs, and deploy some online services (such as rental business, vehicle dispatch business, insurance claims business, credit service, medical service, etc.) based on the consortium chain. In this type of consortium chain, the update message can be a business message or business request with business intentions released by the user in the consortium chain; for example, the update message can also be a message sent by the user to the blockchain to change the information of the node (such as transaction trust value, etc.).

[0198] S1002. The first computing power node stores the update message in the corresponding block.

[0199] It is understandable that when any node in the blockchain system publishes an update message, other nodes record the update message in the temporary ledger. Later, when a new block is generated, the node in the blockchain system responsible for generating the new block can store multiple update messages generated during the creation of the new block in the block and publish the new block.

[0200] Accordingly, when a node in the blockchain system receives the new block, it can verify whether the multiple update information stored in the new block is consistent with the multiple update information recorded in its temporary account book. If they are consistent, the node in the blockchain system can add the new block to the blockchain.

[0201] In one possible implementation, Fig.10 As shown, the task processing method also includes: S1101-S1115.

[0202] S1101. The first computing power node sends an access request message to the identity authentication server.

[0203] Specifically, when the first computing power node needs to join the blockchain system, the first computing power node can send an access request message to the identity authentication server.

[0204] S1102. In response to the access request message, the identity authentication server sends an access response message to the first computing power node.

[0205] Among them, the access response message can be used to indicate that the identity authentication server agrees to the first computing power node to access the blockchain system, and requires the first computing power node to provide public key information, private key information, identity information and other information.

[0206] Optionally, the access response message may also include first confirmation information requiring the first computing power node to confirm whether to provide computing power resources to other nodes in the blockchain system.

[0207] S1103. The first computing power node sends a registration request message to the identity authentication server.

[0208] Among them, the registration message may include information such as the public key information, private key information and identity information of the first computing power node.

[0209] Optionally, the registration message may also include the communication address of the first computing power node, and second confirmation information indicating that the first computing power node confirms that it will provide computing power resources to other nodes in the blockchain system.

[0210] It can be understood that when the first computing power node confirms not to provide computing power resources to other nodes in the blockchain system, the first computing power node can be a task publishing node in the blockchain system.

[0211] S1104. The identity authentication server sends a registration response message to the first computing power node.

[0212] Specifically, after receiving the registration request message sent by the first computing power node, the identity authentication server can parse the registration request message to determine information such as the public key information, private key information, and identity information of the first computing power node.

[0213] Next, the identity authentication server can generate a public key certificate of the first computing power based on the public key information of the first computing power node, and securely store the private key information and identity information of the first computing power node.

[0214] Next, the identity authentication server may send a registration response message to the first computing power node, including the public key certificate of the first computing power node, as well as the public key certificates and communication addresses of other nodes in the blockchain system.

[0215] Correspondingly, the first computing power node can receive the registration response message sent by the identity authentication server and establish a communication connection with other nodes in the blockchain system to obtain blockchain data.

[0216] The registration response message may include the public key certificate of the first computing node, the public key certificates and communication addresses of other nodes in the blockchain system. The communication information of the first computing node may include the public key certificate and communication address of the first computing node.

[0217] Optionally, the identity authentication server may publish the communication information of the first computing power node in the blockchain system so that other nodes in the blockchain system know that the first computing power node has joined the blockchain system.

[0218] The public key certificate can be used to indicate the legal identity of the first computing power node that can communicate with other nodes in the blockchain system.

[0219] Optionally, the public key certificate may include a digital signature of the identity authentication server, which is used to indicate that the first computing power node has completed registration.

[0220] S1105. The task publishing node publishes a task publishing message.

[0221] The task release message includes summary information of the task to be processed.

[0222] S1106. The first computing power node publishes a task acceptance message to indicate that it has accepted the task for processing.

[0223] Specifically, if the available computing resources of the first computing power node meet the computing power resource demand information, and the operating environment of the first computing power node meets the operating environment demand information, the first computing power node can publish a task acceptance message to indicate that it has accepted the task for processing.

[0224] S1107. The task issuing node issues a node confirmation message.

[0225] S1108. The first computing power node sends a key negotiation message to the task issuing node.

[0226] Specifically, after receiving the node confirmation message issued by the task issuing node, the first computing power node can generate a transmission key that facilitates the secure transmission of task information, and read the public key certificate of the task issuing node from the blockchain to determine the public key information of the task issuing node.

[0227] Next, the first computing power node may encrypt the transmission key according to the public key information of the task issuing node to generate a key negotiation message, and send the key negotiation message to the task issuing node.

[0228] S1109. The task publishing node sends a task processing message to the first computing power node.

[0229] The task processing message includes task information of the task to be processed.

[0230] Specifically, after receiving the key negotiation message sent by the first computing power node, the task issuing node can parse the key negotiation message according to the private key information corresponding to its public key information to determine the transmission key.

[0231] Next, the task issuing node may encrypt the task information of the task to be processed according to the transmission key, and send a task processing message including the task information of the task to be processed to the first computing power node.

[0232] S1110. The first computing power node determines a processing result of a subtask to be processed among multiple subtasks to be processed, and publishes a processing end time of determining the processing result of the subtask to be processed.

[0233] S1111. If the processing end time is after the preset time, the first computing power node obtains at least one block to be created generated by at least one node in the blockchain system for determining the second computing power node.

[0234] S1112. The first computing power node determines a node that meets the first preset condition from at least one node, and determines the computing power node to be confirmed in the block to be created generated by the node that meets the first preset condition as the second computing power node.

[0235] S1113. The first computing power node sends a task confirmation message to the second computing power node.

[0236] Specifically, when the number of blocks connected to the block to be created generated by the node that meets the first preset condition is greater than the first preset number, the first computing power node can send a task confirmation message to the second computing power node.

[0237] The task confirmation message includes the processing result of the subtask processed by the first computing power node and the subtask information of other subtasks to be processed among the multiple subtasks to be processed except the subtask processed by the first computing power node.

[0238] S1114. The second computing power node processes the other subtasks to be processed among the multiple subtasks to be processed, except the subtasks that have been processed by the first computing power node.

[0239] Specifically, after receiving the task confirmation message, the second computing power node can parse the task confirmation message to determine the processing results of the subtasks processed by the first computing power node and the subtask information of other subtasks to be processed among multiple subtasks to be processed, except for the subtasks processed by the first computing power node.

[0240] Next, the second computing node can read the summary information of the pending task from the blockchain and determine whether the information in the task confirmation message is correct. If correct, the second computing node can process the other pending subtasks among the multiple pending subtasks except the subtasks that have been processed by the first computing node.

[0241] S1115. The second computing power node sends a processing completion message to the task issuing node.

[0242] The processing completion message includes processing results corresponding to all pending subtasks in the pending task.

[0243] Optionally, after determining the processing results of other subtasks to be processed except for the subtasks already processed by the first computing power node among multiple subtasks to be processed, the second computing power node may also publish in the blockchain system the processing end time of the processing results corresponding to all subtasks to be processed, so as to facilitate other nodes in the blockchain system to monitor the processing progress of the tasks to be processed.

[0244] Optionally, after the task issuing node may receive the processing completion message, the task issuing node may parse the processing completion message to determine the processing results corresponding to all pending subtasks, and verify whether the processing results corresponding to all pending subtasks are correct.

[0245] When errors occur in the processing results corresponding to one or more subtasks, the task issuing node can issue a reveal request message to apply for corresponding penalties on the second computing power node, etc.

[0246] The present application can split a pending task into multiple pending subtasks, and when the first computing power node determines that the processing end time of the processing result of a pending subtask is after a preset time, the first computing power node is replaced with a second computing power node whose available computing power resources are greater than the preset computing power resources, thereby ensuring that other pending subtasks can be processed in a timely manner through computing power nodes with more available computing power resources, ensuring the processing time of the pending tasks, and improving the processing efficiency of the pending tasks.

[0247] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to realize the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0248] The embodiment of the present application can divide the functional modules of the first computing power node according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. Optionally, the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation.

[0249] like Fig.11 FIG. 1 is a schematic diagram of a structure of a task processing device provided in an embodiment of the present application. The task processing device can be applied to a first computing power node to perform the following steps: Figures 4 to 10 The task processing method shown. Fig.11 The task processing device shown includes: an acquisition unit 1201 and a determination unit 1202 .

[0250] The acquisition unit 1201 is used to acquire task information of the task to be processed; the task information includes multiple subtask information corresponding to multiple subtasks to be processed one by one; the multiple subtasks to be processed are obtained by splitting the task to be processed. Figure 4 , the acquisition unit 1201 can be used to execute S401.

[0251] The determination unit 1202 is used to determine the processing result of a subtask to be processed among the multiple subtasks to be processed, and publish the processing end time of determining the processing result of the subtask to be processed. Figure 4 , the determination unit 1202 can be used to execute S402.

[0252] If the processing end time is after the preset time, the determination unit 1202 is further used to determine a second computing node whose available computing resources are greater than the preset computing resources, and send the processing result of the subtask processed by the first computing node and the subtask information of other subtasks to be processed among the multiple subtasks to be processed, except for the subtasks processed by the first computing node, to the second computing node. Figure 4 , the determination unit 1202 can be used to execute S403.

[0253] Optionally, the acquiring unit 1201 is specifically configured to:

[0254] When the multiple pending subtasks are all the pending subtasks obtained by splitting the pending task, the task information sent by the task publishing node is received. Figure 5 , the acquisition unit 1201 can be used to execute S501.

[0255] Alternatively, when the multiple pending subtasks are partial pending subtasks obtained by splitting the pending tasks, multiple subtask information and the processing result of the first subtask sent by the third computing power node are received; the third computing power node is the computing power node that processes the first subtask; the first subtask is: after all the pending subtasks are sorted according to the preset processing logic, the subtask is located before the first pending subtask in the partial pending subtasks. Figure 5 , the acquisition unit 1201 can be used to execute S502.

[0256] Optionally, when the multiple to-be-processed subtasks are all to-be-processed subtasks obtained by splitting the to-be-processed task, the task processing device further includes: a first issuing unit 1203 and a first receiving unit 1204 .

[0257] The acquisition unit 1201 is also used to acquire summary information of the pending tasks issued by the task issuing node; the summary information includes computing resource requirement information, operating environment requirement information and multiple preset time points corresponding to multiple pending subtasks. Figure 6 , the acquisition unit 1201 can be used to execute S601.

[0258] If the available computing resources of the first computing node meet the computing resource requirement information, and the operating environment of the first computing node meets the operating environment requirement information, the first publishing unit 1203 is used to publish a task acceptance message for indicating that the task is accepted. Figure 6 , the first publishing unit 1203 can be used to execute S602.

[0259] The first receiving unit 1204 is used to receive a node confirmation message issued by the task issuing node when the first computing node is determined by the task issuing node as the computing node that undertakes the task to be processed; the node confirmation message is used to indicate that the first computing node is determined as the computing node that undertakes the task to be processed. Figure 6 , the first receiving unit 1204 can be used to execute S603.

[0260] Optionally, the acquisition unit 1201 is further used to acquire at least one block to be created generated by at least one node in the blockchain system for determining the second computing node; at least one node corresponds to at least one block to be created; a block to be created includes: a computing node to be confirmed and pre-recorded summary information; the computing node to be confirmed is a computing node used to process other subtasks to be processed. For example, in combination Figure 7 , the acquisition unit 1201 can be used to execute S701.

[0261] The determination unit 1202 is further used to determine a node that meets the first preset condition from at least one node, and determine the to-be-confirmed computing power node in the to-be-created block generated by the node that meets the first preset condition as the second computing power node; the first preset condition includes: the available computing power resources of the to-be-confirmed computing power node are greater than the preset computing power resources, and the pre-recorded summary information is the summary information of the task to be processed, and the transaction trust value of the node is greater than the preset threshold. For example, combined with Figure 7 , the determination unit 1202 can be used to execute S702.

[0262] Optionally, the task processing device further includes: a sending unit 1205 .

[0263] The sending unit 1205 is used to send the processing result of the subtask processed by the first computing node and the subtask information of other subtasks to be processed except the subtask processed by the first computing node among the multiple subtasks to be processed to the second computing node when the number of blocks connected to the block to be created generated by the node that meets the first preset condition is greater than the first preset number. For example, the sending unit 1205 can be used to execute S801.

[0264] Optionally, the blockchain system further includes an identity authentication server. The identity authentication server is used to store the node identities of the task issuing node and the plurality of computing nodes. The task processing device further includes: a second issuing unit 1206 and a second receiving unit 1207.

[0265] The second publishing unit 1206 is further used to publish an identity disclosure request for revealing the node identity of the fourth computing power node when the number of error messages published by the fourth computing power node is greater than the second preset number; the error message includes: at least one of spam information, task delegation failure information or task forwarding error information; the identity disclosure request includes: the node identifier of the fourth computing power node and the log record corresponding to the error message. For example, in combination Fig. 9 , the second publishing unit 1206 can be used to execute S901.

[0266] The second receiving unit 1207 is further configured to receive a response message issued by other nodes in the blockchain system; the response message includes a response message agreeing to reveal the node identity of the fourth computing power node, or a response message disagreeing to reveal the node identity of the fourth computing power node. Fig. 9 , the second receiving unit 1207 can be used to execute S902.

[0267] The second receiving unit 1207 is further configured to receive an identity disclosure message issued by the identity authentication server when the number of response messages agreeing to disclose the node identity of the fourth computing power node is greater than or equal to a third preset number; the identity disclosure message includes the node identity of the fourth computing power node. Fig. 9 , the second receiving unit 1207 can be used to execute S903.

[0268] Alternatively, the second receiving unit 1207 is further configured to receive a rejection message issued by the identity authentication server for refusing to reveal the node identity of the fourth computing power node when the number of response messages that disagree to reveal the node identity of the fourth computing power node is greater than or equal to a third preset number. Fig. 9 , the second receiving unit 1207 can be used to execute S904.

[0269] Optionally, the task processing device further includes: a recording unit 1208 and a storage unit 1209 .

[0270] The recording unit 1208 is used to record the update message when receiving the update message issued by any node in the blockchain system; the update message is any one of the task end message, task release message, block creation message, task acceptance message, node confirmation message, identity disclosure message, response message, identity disclosure message and rejection message; the task end message includes the processing end time of the determined task processing result issued by any node; the task release message includes the summary information of the task issued by any node; the block creation message is used to indicate that any node has generated a block to be created. For example, combined with Fig.10 , the recording unit 1208 can be used to execute S1001.

[0271] The storage unit 1209 is used to store the update message in the corresponding block. Fig.10 , the storage unit 1209 can be used to execute S1002.

[0272] Those skilled in the art should be aware that in one or more of the above examples, the functions described in this application can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer-readable storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. Storage media can be any available media that can be accessed by general or special-purpose computers.

[0273] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0274] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the modules or units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The unit described as a separate component may or may not be physically separated, and the component displayed as a unit may be a physical unit or multiple physical units, that is, it may be located in one place, or it may be distributed in multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the scheme of this embodiment.

[0275] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A task processing method, characterized in that: Applied to a first computing power node; the first computing power node belongs to a blockchain system including a task publishing node for publishing tasks to be processed and multiple computing power nodes; the multiple computing power nodes all record summary information of the tasks to be processed, and the summary information includes multiple preset time points corresponding to multiple subtasks to be processed one by one; The multiple preset time points are used by the multiple computing nodes to determine whether the processing time of the multiple to-be-processed subtasks has timed out; The task processing method comprises: Acquire task information of the task to be processed; the task information includes a plurality of subtask information corresponding to a plurality of subtasks to be processed one by one; the plurality of subtasks to be processed are obtained by splitting the task to be processed; Determine a processing result of a subtask to be processed among the multiple subtasks to be processed, and publish a processing end time of determining the processing result of the subtask to be processed; If the processing end time is after the preset time, determine a second computing power node whose available computing resources are greater than the preset computing power resources, and send to the second computing power node the processing results of the subtasks processed by the first computing power node and the subtask information of other subtasks to be processed among the multiple subtasks to be processed, except for the subtasks processed by the first computing power node.

2. The task processing method according to claim 1, characterized in that: The step of obtaining the task information of the task to be processed includes: When the plurality of to-be-processed subtasks are all to-be-processed subtasks obtained by splitting the to-be-processed task, receiving task information sent by the task issuing node; Alternatively, when the multiple sub-tasks to be processed are partial sub-tasks to be processed obtained by splitting the task to be processed, the multiple sub-task information and the processing result of the first sub-task sent by the third computing power node are received; the third computing power node is the computing power node that processes the first sub-task; the first sub-task is: after all the sub-tasks to be processed are sorted according to the preset processing logic, the sub-task located before the first sub-task to be processed in the partial sub-tasks to be processed.

3. The task processing method according to claim 2, characterized in that: When the plurality of to-be-processed subtasks are all to-be-processed subtasks obtained by splitting the to-be-processed task, before receiving the task information sent by the task issuing node, the method further includes: Obtain summary information of the pending task published by the task publishing node; the summary information also includes computing resource requirement information and operating environment requirement information of the pending task; If the available computing resources of the first computing power node meet the computing power resource requirement information, and the operating environment of the first computing power node meets the operating environment requirement information, a task acceptance message is issued to indicate acceptance of the task to be processed; When the first computing power node is determined by the task issuing node as the computing power node that undertakes the task to be processed, a node confirmation message issued by the task issuing node is received; the node confirmation message is used to indicate that the first computing power node is determined as the computing power node that undertakes the task to be processed.

4. The task processing method according to claim 3, characterized in that: The step of determining the second computing power node whose available computing power resources are greater than the preset computing power resources includes: Obtain at least one block to be created generated by at least one node in the blockchain system for determining the second computing power node; the at least one node corresponds to the at least one block to be created one by one; a block to be created includes: a computing power node to be confirmed and pre-recorded summary information; the computing power node to be confirmed is a computing power node used to process the other subtasks to be processed; From the at least one node, a node that meets the first preset condition is determined, and the computing power node to be confirmed in the block to be created generated by the node that meets the first preset condition is determined as the second computing power node; the first preset condition includes: the available computing power resources of the computing power node to be confirmed are greater than the preset computing power resources, and the pre-recorded summary information is the summary information of the task to be processed, and the transaction trust value of the node is greater than a preset threshold.

5. The task processing method according to claim 4, characterized in that: The sending to the second computing power node the processing result of the subtask processed by the first computing power node and the subtask information of the other subtasks to be processed among the multiple subtasks to be processed except the subtask processed by the first computing power node, includes: When the number of blocks connected to the block to be created generated by the node that meets the first preset condition is greater than the first preset number, the processing results of the subtasks processed by the first computing power node and the subtask information of other subtasks to be processed among the multiple subtasks to be processed, except for the subtasks processed by the first computing power node, are sent to the second computing power node.

6. The task processing method according to claim 1, characterized in that: The blockchain system also includes an identity authentication server; the identity authentication server is used to store the node identities of the task issuing node and the multiple computing nodes; The task processing method further includes: When the number of error messages published by the fourth computing power node is greater than the second preset number, publishing an identity disclosure request for revealing the node identity of the fourth computing power node; the error message includes: at least one of: junk information, task delegation failure information, or task forwarding error information; the identity disclosure request includes: the node identifier of the fourth computing power node and the log record corresponding to the error message; Receiving response messages issued by other nodes in the blockchain system; the response messages include a response message agreeing to reveal the node identity of the fourth computing power node, or a response message disagreeing to reveal the node identity of the fourth computing power node; When the number of response messages agreeing to reveal the node identity of the fourth computing power node is greater than or equal to a third preset number, receiving an identity disclosure message issued by the identity authentication server; the identity disclosure message includes the node identity of the fourth computing power node; Alternatively, when the number of response messages that disagree to reveal the node identity of the fourth computing power node is greater than or equal to the third preset number, a rejection message issued by the identity authentication server to refuse to reveal the node identity of the fourth computing power node is received.

7. The task processing method according to any one of claims 1 to 6, characterized in that: Also includes: When receiving an update message issued by any node in the blockchain system, recording the update message; The update message is any one of a task completion message, a task release message, a block creation message, a task acceptance message, a node confirmation message, an identity disclosure message, a response message, an identity disclosure message, and a rejection message; the task completion message includes the processing completion time of the determined task processing result published by the arbitrary node; the task release message includes the summary information of the task published by the arbitrary node; the block creation message is used to indicate that the arbitrary node has generated a block to be created; The update message is stored in the corresponding block.

8. A task processing device, characterized in that: Applied to a first computing power node; the first computing power node belongs to a blockchain system including a task publishing node for publishing tasks to be processed and multiple computing power nodes; the multiple computing power nodes all record summary information of the tasks to be processed, and the summary information includes multiple preset time points corresponding to multiple subtasks to be processed one by one; The multiple preset time points are used by the multiple computing nodes to determine whether the processing time of the multiple to-be-processed subtasks has timed out; The task processing device comprises: an acquisition unit and a determination unit; The acquisition unit is used to acquire task information of the task to be processed; the task information includes a plurality of subtask information corresponding to a plurality of subtasks to be processed one by one; the plurality of subtasks to be processed are obtained by splitting the task to be processed; The determining unit is used to determine a processing result of a subtask to be processed among the multiple subtasks to be processed, and publish a processing end time of determining the processing result of the subtask to be processed; If the processing end time is after the preset time, the determination unit is also used to determine a second computing power node whose available computing power resources are greater than the preset computing power resources, and send to the second computing power node the processing results of the subtasks processed by the first computing power node and the subtask information of other subtasks to be processed among the multiple subtasks to be processed, except for the subtasks processed by the first computing power node.

9. The task processing device according to claim 8, characterized in that: The acquisition unit is specifically used for: When the plurality of to-be-processed subtasks are all to-be-processed subtasks obtained by splitting the to-be-processed task, receiving task information sent by the task issuing node; Alternatively, when the multiple to-be-processed subtasks are partial to-be-processed subtasks obtained by splitting the to-be-processed task, receiving the multiple subtask information and the processing result of the first subtask sent by the third computing power node; The third computing node is a computing node that processes the first subtask; The first subtask is: a subtask that is located before the first subtask to be processed in the part of subtasks to be processed after all the subtasks to be processed are sorted according to the preset processing logic.

10. The task processing device according to claim 9, characterized in that: When the plurality of to-be-processed subtasks are all to-be-processed subtasks obtained by splitting the to-be-processed task, the task processing device further includes: a first issuing unit and a first receiving unit; The acquisition unit is further used to acquire summary information of the pending task published by the task publishing node; the summary information also includes computing resource requirement information and operating environment requirement information of the pending task; If the available computing resources of the first computing node meet the computing resource requirement information, and the operating environment of the first computing node meets the operating environment requirement information, the first publishing unit is used to publish a task acceptance message for indicating acceptance of the task to be processed; The first receiving unit is used to receive a node confirmation message issued by the task issuing node when the first computing power node is determined by the task issuing node as the computing power node to undertake the task to be processed; the node confirmation message is used to indicate that the first computing power node is determined as the computing power node to undertake the task to be processed.

11. The task processing device according to claim 10, characterized in that: The acquisition unit is further used to acquire at least one to-be-created block generated by at least one node in the blockchain system for determining the second computing power node; The at least one node corresponds to the at least one block to be created in a one-to-one manner; A block to be created includes: a computing power node to be confirmed and pre-recorded summary information; the computing power node to be confirmed is a computing power node used to process the other subtasks to be processed; The determination unit is further used to determine a node that meets a first preset condition from the at least one node, and determine the computing power node to be confirmed in the block to be created generated by the node that meets the first preset condition as the second computing power node; the first preset condition includes: the available computing power resources of the computing power node to be confirmed are greater than the preset computing power resources, and the pre-recorded summary information is the summary information of the task to be processed, and the transaction trust value of the node is greater than a preset threshold.

12. The task processing device according to claim 11, characterized in that: Also includes: Sending unit; The sending unit is used to send to the second computing power node the processing results of the subtasks processed by the first computing power node and the subtask information of other subtasks to be processed among the multiple subtasks to be processed, except the subtasks processed by the first computing power node, when the number of blocks connected to the block to be created generated by the node that meets the first preset condition is greater than the first preset number.

13. The task processing device according to claim 8, characterized in that: The blockchain system also includes an identity authentication server; the identity authentication server is used to store the node identities of the task issuing node and the multiple computing nodes; The task processing device further includes: a second issuing unit and a second receiving unit body; The second publishing unit is further used to publish an identity disclosure request for revealing the node identity of the fourth computing power node when the number of error information published by the fourth computing power node is greater than a second preset number; the error information includes: at least one of spam information, task delegation failure information or task forwarding error information; the identity disclosure request includes: the node identifier of the fourth computing power node and a log record corresponding to the error information; The second receiving unit is further used to receive a response message issued by other nodes in the blockchain system; the response message includes a response message agreeing to reveal the node identity of the fourth computing power node, or a response message disagreeing to reveal the node identity of the fourth computing power node; The second receiving unit is further configured to receive an identity disclosure message issued by the identity authentication server when the number of response messages agreeing to disclose the node identity of the fourth computing power node is greater than or equal to a third preset number; the identity disclosure message includes the node identity of the fourth computing power node; Alternatively, the second receiving unit is also used to receive a rejection message issued by the identity authentication server for refusing to reveal the node identity of the fourth computing power node when the number of response messages that disagree to reveal the node identity of the fourth computing power node is greater than or equal to the third preset number.

14. The task processing device according to any one of claims 8 to 13, characterized in that: Also includes: Recording unit and storage unit; The recording unit is configured to record an update message issued by any node in the blockchain system when receiving the update message; The update message is any one of a task completion message, a task release message, a block creation message, a task acceptance message, a node confirmation message, an identity disclosure message, a response message, an identity disclosure message, and a rejection message; the task completion message includes the processing completion time of the determined task processing result published by the arbitrary node; the task release message includes the summary information of the task published by the arbitrary node; the block creation message is used to indicate that the arbitrary node has generated a block to be created; The storage unit is used to store the update message in a corresponding block.

15. A task processing device, characterized in that: It includes a memory and a processor; the memory is used to store computer execution instructions, and the processor is connected to the memory through a bus; when the task processing device is running, the processor executes the computer execution instructions stored in the memory, so that the task processing device performs the task processing method as described in any one of claims 1-7.

16. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes computer-executable instructions. When the computer-executable instructions are executed on a computer, the computer is enabled to execute the task processing method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Task distributed processing method and device, network terminal equipment and memory medium

    CN108710530A

  • Asynchronous task processing method and device, electronic equipment and medium

    CN111831408A