Data processing method and related device

Through the decentralized management of blockchain network, the problem of low efficiency in obtaining and execution of computing tasks caused by centralized platforms is solved, and parallel acquisition and execution of computing tasks is realized, and efficiency is improved.

CN120276812APending Publication Date: 2025-07-08TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410028274.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-05
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

In the prior art, scheduling computing tasks through a centralized management platform leads to low efficiency in obtaining and executing computing tasks, and real-time and parallel processing cannot be achieved.

Method used

The blockchain network is used for decentralized management, and the parallel acquisition and execution of computing tasks is achieved through instance query requests and on-chain operations, allowing the result users to directly interact with the blockchain network to obtain and execute computing tasks.

Benefits of technology

It improves the acquisition and execution efficiency of computing tasks, realizes decentralized management of computing tasks, and avoids waiting and sorting delays of the unified management and control platform.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276812A_ABST
    Figure CN120276812A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method and a related device, which are applied to a block chain network, a result user sends an instance query request to the block chain network, the block chain network returns instance query parameters to the result user, and when the instance query parameter identifies that a task instance corresponding to a calculation task is chained, the result user sends the instance query request to the result user. And the result user generates a target task instance corresponding to the calculation task, the target task instance is chained, so that the calculation task is marked in the block chain network, and the calculation task which can be executed is returned to the result user. In this way, it can be guaranteed that the calculation tasks can be normally obtained and executed, it can also be guaranteed that all the calculation tasks are independently obtained by respective result users, it is not needed to wait for a unified management and control platform to sequentially conduct sequencing obtaining of the calculation tasks, decentralized management of the calculation tasks is achieved, sequential serial obtaining of the calculation tasks is changed into parallel obtaining, and the calculation task obtaining efficiency is improved. The acquisition efficiency of the calculation task is improved, and the execution efficiency of the calculation task is further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, and in particular, to a data processing method and related devices. Background Art

[0002] Currently, multiple participants rely on a unified management platform to complete the scheduling and execution of computing tasks. The management platform can periodically obtain executable computing tasks from a database at regular intervals. In this centralized management method, after the management platform obtains computing task A, it needs to wait for a certain period of time and can only obtain computing task B at the next time point. Computing tasks need to queue up and wait for polling to be obtained. Scheduling computing tasks through this centralized management method greatly reduces the real-time performance of obtaining computing tasks because multiple computing tasks need to be scheduled through the same management platform, which in turn affects the execution of computing tasks, and the efficiency of obtaining and executing computing tasks is not high. Summary of the Invention

[0003] To solve the above technical problems, this application provides a data processing method and related devices, which can achieve decentralized management of computing tasks, change from sequentially obtaining computing tasks serially to obtaining them in parallel, improve the efficiency of obtaining computing tasks, and thus improve the execution efficiency of computing tasks. The specific solutions are as follows:

[0004] In a first aspect, an embodiment of this application provides a data processing method, and the method includes:

[0005] Obtain an instance query request sent by a result user of a computing task, where the computing task is used to identify multiple participants involved in the computing task and the computing resources provided by the multiple participants for the computing task, and the result user is one of the multiple participants;

[0006] Return instance query parameters to the result user, where the instance query parameters are used to identify whether the blockchain network has the condition to chain the task instance corresponding to the computing task;

[0007] Obtain the chaining operation of the target task instance of the computing task by the result user, where the target task instance is generated when the instance query parameters indicate that the blockchain network has the chaining condition;

[0008] Chain the target task instance on the blockchain network and return the computing task to the result user, where the computing task is used to indicate that the computing task has the execution condition.

[0009] Specifically, the method further includes:

[0010] Obtain an identity application request from an unfamiliar terminal device;

[0011] According to the identity information of the unfamiliar terminal device, allocate corresponding identity private key and identity public key to the unfamiliar terminal device.

[0012] Specifically, the multiple participants at least include a data provider, a computing model provider, and the result user. The data provider is used to provide data resources for the computing task, the computing model provider is used to provide computing model resources for the computing task, and the result user is used to execute the computing task and obtain the computing result.

[0013] In a second aspect, an embodiment of the present application provides a data processing method, and the method includes:

[0014] Send an instance query request for a computing task to a blockchain network, where the computing task is used to identify multiple participants involved in the computing task, and the computing resources provided by the multiple participants for the computing task;

[0015] Obtain instance query parameters from the blockchain network, where the instance query parameters are used to identify whether the blockchain network has the condition to chain the task instance corresponding to the computing task;

[0016] In response to the instance query parameters indicating that the blockchain network has the chaining condition, initiate a chaining operation for the target task instance of the computing task to the blockchain network;

[0017] Obtain the computing task from the blockchain network, where the computing task is used to indicate that the computing task has the execution condition.

[0018] Specifically, after obtaining the computing task from the blockchain network, the method further includes:

[0019] Submit the computing task to a trusted computing environment through a result user, where the result user is one of the multiple participants, and the computing task is used to indicate that the trusted computing environment obtains the computing resources provided for the computing task from the multiple participants and determines a computing result according to the computing resources;

[0020] Obtain an encrypted computing result from the trusted computing environment, where the encrypted computing result is encrypted according to the identity public key of the result user;

[0021] Decrypt the encrypted computing result according to the identity private key of the result user to obtain the computing result.

[0022] In yet another aspect, an embodiment of the present application provides a data processing device, and the device includes:

[0023] A first acquisition unit, configured to acquire an instance query request sent by a result user of a computing task, where the computing task is used to identify multiple participating parties involved in the computing task and the computing resources provided by the multiple participating parties for the computing task, and the result user is one of the multiple participating parties;

[0024] A return unit, configured to return instance query parameters to the result user, where the instance query parameters are used to identify whether the blockchain network has conditions for uploading a task instance corresponding to the computing task to the blockchain;

[0025] A second acquisition unit, configured to acquire an uploading operation of a target task instance of the computing task by the result user, where the target task instance is generated when the instance query parameters indicate that the blockchain network has uploading conditions;

[0026] An uploading unit, configured to upload the target task instance to the blockchain network and return the computing task to the result user, where the computing task is used to indicate that the computing task has execution conditions.

[0027] In another aspect, an embodiment of the present application provides a data processing device, where the device includes:

[0028] A sending unit, configured to send an instance query request for a computing task to a blockchain network, where the computing task is used to identify multiple participating parties involved in the computing task and the computing resources provided by the multiple participating parties for the computing task;

[0029] A third acquisition unit, configured to acquire instance query parameters from the blockchain network, where the instance query parameters are used to identify whether the blockchain network has conditions for uploading a task instance corresponding to the computing task to the blockchain;

[0030] An initiating unit, configured to initiate an uploading operation of a target task instance of the computing task to the blockchain network in response to the instance query parameters indicating that the blockchain network has uploading conditions;

[0031] A fourth acquisition unit, configured to acquire the computing task from the blockchain network, where the computing task is used to indicate that the computing task has execution conditions.

[0032] In another aspect, an embodiment of the present application provides a data processing system, where the system includes a terminal device and a server;

[0033] The server is configured to execute the method in the first aspect;

[0034] The terminal device is configured to execute the method in the second aspect.

[0035] In another aspect, an embodiment of the present application provides a computer device, which includes a processor and a memory:

[0036] The memory is used to store a computer program and transmit the computer program to the processor;

[0037] The processor is used to execute the method described in the first aspect or the method described in the second aspect according to the computer program.

[0038] In another aspect, an embodiment of the present application provides a computer-readable storage medium, which is used to store a computer program, and the computer program realizes the execution of the method described in the first aspect or the method described in the second aspect when executed by a computer device.

[0039] In another aspect, an embodiment of the present application provides a computer program product including a computer program. When it runs on a computer device, it causes the computer device to execute the method described in the first aspect or the method described in the second aspect.

[0040] It can be seen from the above technical solutions that the present application provides a data processing method and related devices, which are applied to a blockchain network. This can not only ensure that computing tasks can be normally obtained and executed, but also ensure that each computing task is independently obtained by its respective result user, without waiting for a unified management platform to sequentially sort and obtain computing tasks, realizing decentralized management of computing tasks, changing from sequential serial acquisition of computing tasks to parallel acquisition, improving the acquisition efficiency of computing tasks, and further improving the execution efficiency of computing tasks. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0042] Figure 1 It is a schematic diagram of the processing flow of traditional computing tasks;

[0043] Figure 2 It is a schematic diagram of the scenario of a data processing method provided by an embodiment of the present application;

[0044] Figure 3 It is an interaction schematic diagram of a data processing method provided by an embodiment of the present application;

[0045] Figure 4 It is an interaction schematic diagram of another data processing method provided by an embodiment of the present application;

[0046] Figure 5 A schematic diagram for reversing the status of a computing task and a task instance provided by an embodiment of the present application;

[0047] Figure 6 A schematic diagram of the interaction of each participant during the execution of a computing task provided by an embodiment of the present application;

[0048] Figure 7 A schematic diagram of the creation process of a computing task provided by an embodiment of the present application;

[0049] Figure 8 A schematic diagram of the acquisition process of a computing task provided by an embodiment of the present application;

[0050] Figure 9 A schematic diagram of the execution process of a computing task provided by an embodiment of the present application;

[0051] Figure 10 A schematic diagram of a data processing device provided by an embodiment of the present application;

[0052] Figure 11 A schematic diagram of another data processing device provided by an embodiment of the present application;

[0053] Figure 12 A schematic diagram of a data processing system provided by an embodiment of the present application;

[0054] Figure 13 A structural diagram of a terminal device provided by an embodiment of the present application;

[0055] Figure 14 A structural diagram of a server provided by an embodiment of the present application. Detailed implementation manners

[0056] The embodiments of the present application will be described below with reference to the accompanying drawings.

[0057] When processing data, multiple participants rely on a unified management platform to complete the scheduling and execution of computing tasks. For example, the management platform can be a blockchain confidential computing platform (Blockchain Confidential Computing, BCC), refer to Figure 1As shown in the figure, the management platform can periodically send query requests to the database, that is, send query requests at regular intervals. The database periodically returns executable computing tasks to the management platform. This results in the need to wait until the computing task is polled and retrieved when a certain computing task needs to be executed. The management platform distributes the executable computing tasks to the trusted computing resources for execution. After the execution is completed, the trusted computing resources return the computing results to the management platform and then write them into the database. The management platform uniformly manages the computing tasks of each participating party. Multiple computing tasks queue up waiting to be queried and obtain computing tasks from the database in a polling manner. The computing tasks cannot be obtained in real time, which affects the execution of the computing tasks. The management platform cannot timely distribute the computing tasks to the trusted computing resources for execution, and the acquisition and execution efficiency of the computing tasks is not high.

[0058] To solve the above problems, the present application provides a data processing method and related device, which are applied to a blockchain network. This can not only ensure that computing tasks can be normally obtained and executed, but also ensure that each computing task can be independently obtained by its respective result user without waiting for the unified control platform to sequentially sort and obtain the computing tasks, realizing the decentralized management of computing tasks, changing from sequential serial acquisition of computing tasks to parallel acquisition, improving the acquisition efficiency of computing tasks, and thus improving the execution efficiency of computing tasks.

[0059] The data processing method provided by the embodiments of the present application can be implemented by a computer device. The computer device can be a terminal device or a server. Among them, the server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The terminal device includes, but is not limited to, mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle-mounted terminals, aircraft, etc. The terminal device and the server can be directly or indirectly connected through wired or wireless communication methods, and the present application does not limit this.

[0060] The embodiments of the present application relate to blockchain technology. Blockchain is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithms. Blockchain, in essence, is a decentralized database, a string of data blocks generated by using cryptographic methods. Each data block contains information about a batch of network transactions, which is used to verify the validity (anti-counterfeiting) of the information and generate the next block. Blockchain can include the blockchain underlying platform, the platform product service layer, and the application service layer.

[0061] The underlying blockchain platform may include processing modules such as user management, basic services, smart contracts, and operation management. Among them, the user management module is responsible for the identity information management of all blockchain participants, including maintaining the generation of public and private keys (account management), key management, and the maintenance of the correspondence between the real identity of users and blockchain addresses (permission management). And under authorization, it supervises and audits the transaction situations of certain real identities, and provides the rule configuration for risk control (risk control audit); the basic service module is deployed on all blockchain node devices, used to verify the validity of business requests, and records the valid requests to the storage after consensus. For a new business request, the basic service first performs interface adaptation parsing and authentication processing (interface adaptation), then encrypts the business information through the consensus algorithm (consensus management), transmits it to the shared ledger completely and consistently after encryption (network communication), and performs record storage; the smart contract module is responsible for the registration and issuance of contracts, contract triggering, and contract execution. Developers can define contract logic through a certain programming language, publish it to the blockchain (contract registration), trigger the execution by calling keys or other events according to the logic of the contract terms, complete the contract logic, and at the same time provide the functions of contract upgrade and cancellation; the operation management module is mainly responsible for the deployment, configuration modification, contract setting, cloud adaptation during the product release process, and the visual output of the real-time status during the product operation, such as: alarm, management of network conditions, management of the health status of node devices, etc.

[0062] The platform product service layer provides the basic capabilities and implementation frameworks of typical applications. Developers can build on these basic capabilities and overlay the characteristics of the business to complete the blockchain implementation of the business logic. The application service layer provides application services based on the blockchain solution for business participants to use.

[0063] Reference Figure 2 As shown, it is a schematic diagram of the scenario of a data processing method provided by an embodiment of the present application, which can be applied to the server 100. A blockchain network can be deployed on the server 100. The server 100 can interact with the terminal device 200, and the terminal device 200 can be the device where the participant is located.

[0064] There are multiple computing tasks in the blockchain network. A computing task can be the operations or processes of each participating party required to complete an operation. A computing task can identify multiple participating parties involved in the computing task, and a participating party can be an organization related to the execution of the computing task. A computing task can also identify the computing resources provided by multiple participating parties for the computing task. For example, some participating parties can provide the required computing data for the computing task, and some participating parties can provide a computing model for the computing task for calculation. The result user of the computing task is one of the multiple participating parties, specifically the participating party that needs to use the computing result of the computing task. The result user can interact with the blockchain network to obtain the computing task from the blockchain network.

[0065] When the result user needs to use the computing result of the computing task, it can interact with the blockchain network to trigger the operation of obtaining the computing task, so that the computing task can be executed after being obtained and the result user can use the computing result. Therefore, the result user can send an instance query request to the blockchain network. The instance query request is used to query the specific situation of the task instance in the blockchain network. Among them, the task instance is the instance corresponding to the computing task, which is used to mark in the blockchain network for obtaining the computing task. If there is a task instance corresponding to the computing task in the blockchain network, it means that the computing task is about to be obtained for execution. In this way, by directly interacting with the blockchain network by each result user without sending a query request through a unified control platform, each computing task does not affect each other, and only needs to send an instance query request separately through its own result user, which improves the independence of obtaining among multiple computing tasks.

[0066] After querying according to the instance query request, the blockchain network returns instance query parameters to the result user. The instance query parameters can identify whether there are conditions for uploading the task instance corresponding to the computing task to the blockchain network, that is, it can be determined whether the task instance corresponding to the computing task can be uploaded to the blockchain network. If the conditions for uploading are met and it can be uploaded, there can be a task instance corresponding to the computing task in the blockchain network, and the computing task is about to be obtained. If it cannot be uploaded, it means that the computing task cannot be obtained and executed. Thus, whether the task instance is uploaded can mark whether the computing task can be obtained on the blockchain network. Further, it can mark whether the computing task can be executed.

[0067] When the instance query parameter identifier indicates that the task instance corresponding to the computing task can be uploaded to the blockchain, it means that the computing task can be normally obtained. Then, the result user can generate the target task instance corresponding to the computing task. When the blockchain network obtains the upload operation of the target task instance by the result user, the target task instance can be uploaded to the blockchain network, indicating that the computing task is about to be executed. Subsequently, the computing task needs to be obtained from the blockchain network, thereby marking the action of obtaining the computing task in the blockchain network and returning the executable computing task to the result user. This can not only ensure that the computing task can be normally obtained and executed, but also ensure that each computing task is independently obtained by its respective result user, without waiting for the unified management platform to sequentially sort and obtain the computing tasks, realizing the decentralized management of the computing tasks, changing from sequential serial acquisition of computing tasks to parallel acquisition, improving the acquisition efficiency of the computing tasks, and further improving the execution efficiency of the computing tasks.

[0068] Reference Figure 3 As shown, it is an interaction schematic diagram of a data processing method provided by an embodiment of the present application. This method involves the interaction between multiple computer devices. The multiple computer devices may include a server 100 and a terminal device 200. The server 100 can be used to deploy a blockchain network, and the terminal device 200 can be the device corresponding to the result user. The method includes the following steps.

[0069] Step 301: The result user of the computing task sends an instance query request for the computing task to the blockchain network.

[0070] In the embodiment of the present application, the computing task is the operations or processes of each participant required to complete an operation. The computing task can identify multiple participants involved in the computing task and the computing resources provided by the multiple participants for the computing task. The participant can be an organization related to the execution of the computing task, and the computing resources can be various aspects of computer resources required to complete the computing task to ensure the smooth execution of the computing task.

[0071] Each participating party can provide various computing resources for a computing task. That is, the roles played by each participating party in the computing task may be different. The roles of the participating parties can be data providers, computing model providers, result users, etc. Multiple participating parties can at least include a data provider, a computing model provider, and a result user. Of course, it can also include other computing resource providers. Among them, the data provider can provide data resources for the computing task. The data resources are the various data required for the computing task. Subsequently, operations need to be performed on the data resources to execute the computing task. For example, if the computing task is to calculate the product usage of multiple companies, then multiple companies need to provide data resources, that is, provide the products of their own companies and the number of users of each product. Since the computing task may use one or more types of data, there can be one or more data providers for the computing task.

[0072] The computing model provider can provide computing model resources for the computing task. Through the computing model, the computing task can be executed. Different computing models represent using different algorithms to execute the computing task. The execution of the computing task can be completed by one algorithm. Therefore, there can be one computing model provider for a computing task. Of course, if multiple algorithms are needed to execute the computing task, there can also be multiple computing model providers. The result user is the participating party that needs to use the computing result of the computing task. Since the computing result of the computing task is called by the result user, the result user can start the execution of the computing task and obtain the computing result. Since the computing result can be used by multiple participating parties, there can also be more than one result user, and there can be multiple.

[0073] Multiple participating parties can also include a computing alliance creator and a computing task creator. The computing alliance creator is used to create a computing alliance and can also invite other participating parties to join the alliance. The computing task creator can create a computing task, match the computing model provided by the computing model provider, the data provided by the data provider, and specify the result user, so as to complete the computing task.

[0074] In some scenarios, an organization can not only provide data resources but also need to use the computing result. Then the organization can be both a data provider and a result user. That is, the organization has multiple roles as a participating party. Similarly, each participating party can have more than one role and can also have multiple roles. For example, it can be both a data provider and a computing model provider, etc.

[0075] Since the calculation results of the calculation tasks need to be called by the result users, and the data providers and calculation resource providers are used to provide resources such as data and calculation models required for execution, the start of the calculation tasks can be triggered by the result users, and the result users of the calculation tasks can send instance query requests to the blockchain network. The instance query request is a request for instance query, which is used to request to query the specific situation of the task instances in the blockchain network, such as whether there are task instances corresponding to the calculation tasks, and the status of the task instances, etc. Among them, the task instances are used to mark the calculation tasks in the blockchain network. If there are task instances corresponding to the calculation tasks in the blockchain network, it means that the calculation tasks are about to be obtained for execution.

[0076] For each calculation task, the corresponding result user can directly interact with the blockchain and send an instance query request without sending the query request through a unified control platform. The acquisition of each calculation task does not affect each other. Only the corresponding result users of each calculation task need to send instance query requests separately without waiting time, which improves the independence of the acquisition among multiple calculation tasks.

[0077] In actual application, each organization can independently deploy its own control platform. The control platform is used to manage the interaction between the participating parties and the blockchain network. The control platform can be an application program deployed in the terminal device. The control platform can be the BCC control platform. The blockchain network can interact with the participating parties through the Blockchain as a Service (BaaS) platform. That is to say, when the participating parties interact with the blockchain network, they can interact through the BCC control platform and the BaaS blockchain service platform, which can ensure the smooth progress of the interaction.

[0078] Reference Figure 4 As shown, it is an interaction schematic diagram of another data processing method provided by the embodiment of the present application. The calculation task involves 4 organizations, namely Organization 1, Organization 2, Organization 3, and Organization 4. Organization 1 can be both a calculation model provider and a coalition creator. Organization 2 can be both a data provider and a calculation task creator. Organization 3 is also a data provider. Organization 4 is a calculation result user. The 4 organizations all interact with the blockchain through their respective BCC control platforms and the BaaS blockchain service platform, so as to realize the interaction with the blockchain. Among them, the BCC control platform of Organization 1 can be connected to chain node 1. Of course, the BCC control platform can be connected to any chain node, and the number of BCC control platforms connected to the same chain node can also be more than one.

[0079] Since when starting a computing task, it is necessary to send an instance query request to the blockchain network in the result usage direction, it is necessary to trigger the result user to determine under what circumstances the result user of the computing task can initiate an action, that is, send an instance query request to the blockchain network.

[0080] In a possible implementation, before obtaining the instance query request sent by the result user of the computing task, it is possible to obtain the task start request of the computing task. The task start request is a request to start the computing task. Since starting the computing task requires obtaining the computing task, the task start request can also be a request to obtain the computing task. And obtaining the computing task requires querying the task instance. Therefore, the task start request can also be a request for the result user to send an instance query request. That is to say, when obtaining the task start request of the computing task, the result user can send an instance query request to the blockchain network.

[0081] Among them, the task start request can be generated by means of timed start. When the preset time is reached, the task start request can be automatically generated, that is, the result user can be triggered to send an instance query request at regular intervals. In addition, the task start request can also be generated by the result user, that is, the result user can generate a task start request in response to a user's trigger operation, such as a click operation, to instruct the result user to send an instance query request.

[0082] By generating the task start request in the way of timed start or generated by the result user, the start method of the computing task can be made more diverse. Users can choose a suitable task start method based on their own situation or the type of the computing task, and it can also enable the result user to send an instance query request smoothly.

[0083] Step 302: The blockchain network returns instance query parameters to the result user.

[0084] In the embodiment of the present application, the blockchain network can perform a query according to the instance query request. After the query is completed, it returns instance query parameters to the result user. The instance query parameters are the results obtained from the query. The instance query parameters can identify whether there are conditions for uploading the task instance corresponding to the computing task to the blockchain network, that is, it can be determined whether the task instance corresponding to the computing task can be uploaded to the blockchain network.

[0085] Step 303: In response to the instance query parameters indicating that there are conditions for uploading to the blockchain network, the result user initiates an operation to upload the target task instance of the computing task to the blockchain network.

[0086] The result user can generate a target task instance corresponding to the computing task. The target task instance is used to mark the acquisition action of the computing task on the blockchain network. To add the target task instance to the blockchain network, the result user can initiate an operation to upload the target task instance to the blockchain network and send it to the blockchain network. That is, in response to the instance query parameter indicating that the blockchain meets the conditions for uploading, an operation to upload the target task instance of the computing task is initiated to the blockchain network, so as to meet the need for uploading the target task instance.

[0087] Step 304: Upload the target task instance to the blockchain network and return the computing task to the result user.

[0088] According to the operation of uploading the target task instance initiated by the result user, the blockchain network can add the target task instance to the chain. In this way, there is a target task instance corresponding to the computing task in the blockchain network. By utilizing the recording function of the blockchain network, the acquisition of the computing task is marked and recorded on the blockchain network, indicating that the computing task is about to be acquired, avoiding the situation where it is impossible to know whether the computing task has been acquired due to lack of marking in the blockchain network.

[0089] After adding the target task instance to the blockchain network to record the acquisition operation of the computing task, the blockchain network can return the computing task to the result user. At this time, the computing task indicates that the computing task meets the execution conditions, that is, it has been marked on the blockchain network and the computing task can be executed normally, enabling the result user to execute the computing task. This can not only ensure that the computing task can be acquired and executed normally, but also ensure that each computing task is independently acquired by its respective result user, without waiting for a unified control platform to sequentially sort and acquire the computing tasks, realizing the decentralized management of the computing tasks, changing from sequential serial acquisition of computing tasks to parallel acquisition, improving the acquisition efficiency of the computing tasks, and further improving the execution efficiency of the computing tasks.

[0090] Since the result user will add the target task instance to the blockchain network before acquiring the computing task to indicate that the computing task is about to be acquired and executed, then, after the execution of the computing task, if the state of the target task instance in the blockchain network is not updated, it is impossible to distinguish whether the computing task is about to be acquired and executed or has been executed, and it is impossible to accurately know the actual state of the computing task.

[0091] In a possible implementation, after the result user receives the computing task, the computing task starts to execute. After the execution is completed, the result user can send the execution result information to the blockchain network. The execution result information can identify the execution result of the computing task. The execution result can be execution success, execution failure, execution timeout, etc. According to the execution result information, the status of the target task instance in the blockchain can be updated. The status of the updated target task instance is different from the status before the update, so as to distinguish the state of the completed computing task from the state of the unexecuted computing task.

[0092] After adding the target task instance to the blockchain network, a status can be added to the target task instance in the blockchain network. For example, a created status can be added to indicate that the target task instance has been created and the computing task can be obtained. After the computing task is executed, the blockchain network can obtain the execution result information and update the status of the target task instance according to the execution result information. For example, when the execution result information indicates execution success, the status of the target task instance can be updated to the success status; when the execution result information indicates execution failure, the status of the target task instance can be updated to the failure status; when the computing task times out, the status of the target task instance can be updated to the timeout status.

[0093] If the status of the computing task instance in the blockchain network remains unchanged and is not updated, it will cause users to be unable to judge whether the computing task is successfully executed and whether the calculation result is accurate and reliable. By timely updating the status of the target task instance in the blockchain network, the execution situation of the computing task can be accurately displayed, which is convenient for users to know the actual situation of the computing task. Especially when the computing task fails to be successfully executed, it is convenient for users to take remedial measures in time.

[0094] In the embodiments of the present application, in order to improve the acquisition efficiency and execution efficiency of computing tasks, there can be multiple computing tasks in the blockchain network. The result users of the computing tasks can interact with the blockchain network to obtain computing tasks. The result users of the computing tasks can trigger the acquisition of computing tasks, that is, the result users can send instance query requests to the blockchain network, without sending query requests through a unified management platform. Each computing task is not affected by others. Only the respective result users need to send instance query requests separately, which improves the independence of obtaining multiple computing tasks. After querying according to the instance query request, the blockchain returns instance query parameters to the result users. The instance query parameters can identify whether there are conditions for uploading the task instance corresponding to the computing task in the blockchain network. When the instance query parameters indicate that the task instance corresponding to the computing task can be uploaded to the blockchain, it means that the computing task can be normally executed. Then the result user can generate a target task instance corresponding to the computing task. When the blockchain obtains the operation of uploading the target task instance by the result user, it can upload the target task instance to the blockchain to mark the acquisition of the computing task in the blockchain network, and return the computable computing task to the result user. This can not only ensure that the computing tasks can be normally obtained and executed, but also ensure that each computing task is independently obtained by its respective result user, without waiting for the unified management platform to sequentially sort and obtain the computing tasks, realizing the decentralized management of computing tasks, changing from sequential serial acquisition of computing tasks to parallel acquisition, improving the acquisition efficiency of computing tasks, and thus improving the execution efficiency of computing tasks.

[0095] Before the result user obtains the computing task, the creation process of the computing task needs to be completed. Since the computing task needs to utilize the computing resources provided by multiple participants to cooperate with each other to execute, therefore, to create a computing task, the approval authorizations of all participants need to be obtained. For example, the computing model provider will approve whether the computing task has the right to use the model provided by itself, and the data provider will approve whether the computing task can use its own data. After collecting the authorizations of all participants, it means that the creation of the computing task is completed.

[0096] In a possible implementation manner, the creation process of the computing task may include the following steps.

[0097] Step 11: Obtain the computing task sent by the task creator of the computing task.

[0098] The task creator can create an initial computing task and send the computing task to the blockchain network. Here, the task creator is one of the multiple participants. At this time, the computing task is only initiated by the task creator and has not notified other participants involved in the computing task, such as the model provider, data provider, result user, etc. Other participants have not authorized the computing task.

[0099] Step 12: Link the computing task to the blockchain network and trigger the second contract event for the computing task.

[0100] The blockchain network can add computing tasks to the chain, thereby using the blockchain network to record the computing tasks. Then, a second contract event for the computing task can be triggered. The second contract event can notify the terminal set connected to the blockchain network of the pending authorization tasks for the computing tasks.

[0101] The terminal set may be a set of multiple terminal devices, including terminal devices corresponding to multiple participants of the computing task, and terminal devices corresponding to participants of other computing tasks. The second contract event may enable other participants of the computing task to know the computing task, and notify other participants that they need to process the unauthorized task, such as whether to agree to provide computing resources to the computing task.

[0102] In actual application, the second contract event can carry the identity identification of multiple participants. The identity identification is the attribute information that can prove the identity of the participant, such as the user identification of the participant, etc. The identity identification of multiple participants can be used to indicate the association between the computing task and the terminal device in the terminal set. That is to say, the computing task corresponding to the terminal device where the participant is located can be determined according to the identity identification, and the computing task is sent to the participant corresponding to the computing task, so as to avoid the participant being unable to know the computing task corresponding to himself, resulting in the participant being unable to select the computing task corresponding to himself for signature authorization. This scheme uses the identity identification to make the computing task correspond to the terminal device where the participant is located, which can improve the efficiency of the participant's authorization of the computing task.

[0103] Step 13: Obtain the task signature of the pending terminal device as a participant in the terminal set.

[0104] In the terminal set, the terminal device that is a participant in the computing task can be recorded as a pending terminal device. If the participant agrees to authorize the computing task, the computing task can be encrypted by the identity private key of the pending terminal device to obtain the task signature, so that the blockchain network can obtain the task signature from the pending terminal device.

[0105] Terminal devices that do not communicate with the blockchain network can be defined as unfamiliar terminal devices, that is, they are unfamiliar terminal devices to the blockchain network. Since the blockchain network needs to record relevant information of the unfamiliar terminal devices when the unfamiliar terminal devices connect to the blockchain network for the first time, it is necessary to assign relevant identity certificates to the unfamiliar terminal devices.

[0106] Specifically, a strange terminal device can send an identity application request to the blockchain network. The identity application request is to request the blockchain network to allocate relevant certification information that can prove its identity. According to the identity information of the strange terminal device, the identity information can be the identity information uniquely possessed by each terminal device. For example, it can be an Internet Protocol Address (IP address), etc. The blockchain network can allocate an identity private key and a corresponding identity public key to the strange terminal device so that the strange terminal device can communicate with the blockchain network. Encrypted communication can be realized by using the identity private key and the identity public key, improving the security of communication.

[0107] That is to say, the blockchain network can apply for a chain identity for each terminal device. The chain identity refers to the configuration information used to mark the identity of the terminal device and sign blockchain transactions when accessing the blockchain network. The chain identity can include an identity private key and an identity public key (i.e., a signature certificate), and can also include a Transport Layer Security (TLS) communication private key, a TLS communication certificate, a Certificate Authority (CA) certificate, etc. In addition, a chain identity in the blockchain network can be applied through a BaaS blockchain service platform.

[0108] Step 14: In response to obtaining the computing task by decrypting the task signature with the identity public key of the pending terminal device, it is determined that the pending terminal device has authorized the computing task.

[0109] Since the blockchain network has allocated an identity public key and an identity private key to the pending terminal device, after receiving the task signature of the pending terminal device, the blockchain network can use the identity public key of the pending terminal device to decrypt the task signature to obtain the computing task. If the decryption is successful, it indicates that the identity public key and the identity private key are correctly corresponding. This not only verifies the identity of the pending terminal device but also determines that the pending terminal device has authorized the computing task. By determining whether the pending terminal device has authorized through the encryption and decryption of the computing task, it can not only prevent the random leakage of the computing task but also improve the authorization efficiency.

[0110] Step 15: In response to multiple parties having all authorized the computing task, it is determined that the authorization of the computing task is successful, and the task signatures of the multiple parties are added to the computing task in the blockchain network.

[0111] When multiple parties involved in the computing task have all authorized the computing task, it means that all parties involved in the computing task agree to execute the computing task. Determining that the authorization of the computing task is successful, in the blockchain network, the task signatures of the multiple parties can be added to the computing task, thus completing the creation process of the computing task.

[0112] In this way, the computing task carries the task signatures of all participating parties. Subsequently, during the execution of the computing task, the task signatures can be used to obtain computing resources from each participating party, eliminating the need to repeatedly apply for authorization from the participating parties, greatly reducing the execution time of the computing task and improving the execution efficiency.

[0113] The blockchain network adds the target task instance to the chain. At this time, the target task instance is in the added state in the blockchain network. Subsequently, the blockchain network returns the computing task to the result user, indicating that the computing task is about to be executed. That is to say, before returning the computing task, the target task instance joins the blockchain network, and at this time the computing task is not in the state of being about to be executed. Before and after returning the computing task, the state of the computing task is different, and the corresponding state of the target task instance in the blockchain will also be different. Therefore, it is necessary to distinguish and record the state of the target task instance in the blockchain.

[0114] In a possible implementation, after the target task instance is uploaded to the blockchain network, the blockchain network already has the target task instance, and the state of the target task instance in the blockchain network can be updated to the created state, thereby indicating that the target task instance has been added to the chain.

[0115] After the blockchain network returns the computing task to the result user and the result user receives the computing task and the subsequent computing task will be executed, the result user can generate instance state update information. The instance state update information can indicate that the computing task is being executed and can include content such as the updated instance state. The blockchain network can obtain the instance state update information from the result user and update the state of the target task instance in the blockchain network to in execution according to the instance state update information.

[0116] In this way, after the target task instance is uploaded to the chain, the blockchain state of the target task instance is the created state. After the result user receives the computing task, the blockchain state of the target task instance is updated to the in execution state. For the changes in each stage, the blockchain state is updated in a timely manner. By viewing the blockchain state, it can be known whether the computing task has been obtained. Using the blockchain network to record the state of the target task instance can thus reflect the various processing stages of the computing task and can represent the execution process of the computing task in a more fine-grained manner.

[0117] Since the blockchain network can return instance query parameters to the result user by querying the instance state on the chain, and the instance query parameters can identify whether the task instance corresponding to the computing task can be added to the chain. In this way, the instance query parameters affect whether the computing task can be obtained and the execution of the computing task. Therefore, how to accurately determine the instance query parameters is also something that needs attention.

[0118] In a possible implementation manner, when determining the instance query parameter, it can be determined according to the following method. It is possible to determine the task instance to be recognized corresponding to the computing task in the blockchain network. The task instance to be recognized is the task instance that needs to be recognized and analyzed. By recognizing and analyzing the status of the task instance to be recognized, it can be determined that the task instance corresponding to the computing task can be put on the chain, that is, the instance query parameter can be determined.

[0119] Specifically, when there is a task instance to be recognized corresponding to the computing task in the blockchain network, if the status flag of the task instance to be recognized in the blockchain network is marked as the created state, it means that the task instance to be recognized has been added to the chain, and the computing task has not been completed. This indicates that the computing task may need to be executed. Therefore, another task instance corresponding to the computing task cannot be added to the chain. Otherwise, it will cause the computing task to be obtained and executed again, affecting the normal execution of the computing task. Therefore, the generated instance query parameter indicates that the blockchain network does not have the condition to put the task instance corresponding to the computing task on the chain.

[0120] In addition, when there is a task instance to be recognized corresponding to the computing task in the blockchain network, if the status flag of the task instance to be recognized in the blockchain network is marked as the executing state, it means that the computing task is being executed, and the computing task does not need to be repeatedly obtained and executed. There is no need to put other task instances on the chain. Otherwise, it will affect the normal execution of the computing task. Then the instance query parameter also indicates that the blockchain network does not have the condition to put the task instance corresponding to the computing task on the chain.

[0121] In response to having a task instance to be recognized and the blockchain status of the task instance to be recognized not being the created state and the executing state, or in response to not having a task instance to be recognized, an instance query parameter is generated to indicate that the blockchain network has the condition to put the task instance corresponding to the computing task on the chain.

[0122] When there is a task instance to be recognized in the blockchain network and the status of the task instance to be recognized in the blockchain network is not the created state,

[0123] When there is a task instance to be recognized in the blockchain network and the status in the blockchain network is not the created state nor the executing state, it means that the computing task is not in the executing state and will not be about to be executed. Therefore, the result user can obtain the computing task. Therefore, the generated instance query parameter can indicate that the blockchain network has the condition to put the task instance corresponding to the computing task on the chain. For example, if the blockchain status of the task instance to be recognized is execution success, execution failure, or execution timeout, these statuses can indicate that the execution process of the computing task has ended, and the next execution process of the computing task can be started. This means that other task instances corresponding to the computing task can be put on the chain.

[0124] Of course, if there is no task instance to be recognized corresponding to the computing task in the blockchain network, it means that the computing task has not been acquired and executed yet, and the execution status of the computing task has not been marked in the blockchain network. Then, the task instance corresponding to the computing task can be added to the chain. Therefore, the generated instance query parameter can identify the condition in the blockchain network for uploading the task instance corresponding to the computing task. By determining whether there is a task instance to be recognized in the blockchain network and the status mark of the task instance in the blockchain network, it is possible to accurately determine whether the task instance can be uploaded to the chain, determine reasonable instance query parameters, and enrich the determination method of instance query parameters.

[0125] In the embodiments of the present application, the status of the computing task and the status of the task instance can be described. Refer to Figure 5 As shown, it is a schematic diagram of the state transition of a computing task and a task instance provided by an embodiment of the present application.

[0126] The computing task has the following several states: computing task authorization failure state, computing task authorization success state, computing task authorization timeout state, and computing task invalidation state. The creator of the computing task can create a computing task, and the created computing task will specify three parties: the computing model provider, the data provider, and the result user. Among them, there can be one computing model provider, and there can be multiple data providers and result users. Then, during the computing task authorization process, the blockchain network can trigger a second contract event. As long as one party refuses to authorize, it enters the computing task authorization failure state, which is a terminal state and cannot be reversed. If the participating parties authorize successfully, the participating parties will sign the computing task, generate a task signature, and submit it to the blockchain network. If the blockchain network collects a sufficient number of task signatures, it will aggregate the task signatures on the chain and append them to the computing task, then enter the computing task authorization success state.

[0127] After the creator of the computing task creates the computing task and enters the authorization process, if the participating parties do not authorize within a certain period of time, or the expiration date of the computing resources provided by the participating parties expires, it enters the computing task authorization timeout state, which is also a terminal state and cannot be reversed.

[0128] If a participating party in the computing task withdraws from the alliance, or the resource provider (computing model provider, data provider) suspends the release (off-chain) or deletes the resources, it enters the computing task invalidation state, which is also a terminal state and cannot be reversed.

[0129] The states of the task instance include task instance created state, task instance in execution state, task instance execution failure state, task instance execution timeout state, task instance execution success state, and task instance execution termination state.

[0130] When the authorization of the computing task is successful, it can be triggered and executed by the result user. If it is a timed task and reaches the specified time, it will be triggered and executed by the management platform. The result user creates a task instance and enters the state where the task instance has been created.

[0131] After the task instance has been created, the first contract event will be triggered to quickly notify other participating parties that the task instance has been created. At this time, the task instance enters the executing state. If the task instance fails to execute, it will enter the execution failure state, which is a terminal state and cannot be reversed. If the execution time of the task instance is too long and exceeds the maximum time limit, the task instance will enter the execution timeout state, which is also a terminal state and cannot be reversed. If the task instance executes successfully, it will enter the execution success state, which is also a terminal state and cannot be reversed. The task instance being executed can be terminated. If it is manually triggered to terminate, it will enter the execution termination state, which is also a terminal state and cannot be reversed.

[0132] After updating the blockchain state of the target task instance to the created state, it is also necessary to notify other participating parties of the blockchain state of the target task instance so that the computing task can be executed smoothly.

[0133] Specifically, after updating the blockchain state of the target task instance to the created state, the blockchain network can trigger the first contract event for the target task instance. The first contract event can notify the set of terminals connected to the blockchain network that the target task instance for the computing task has been created. In this way, through the first contract event, the blockchain state of the target task instance can be quickly synchronized among all participating parties, reducing the synchronization time and improving the acquisition efficiency of the computing task.

[0134] After the result user obtains the computing task from the blockchain network, the computing task starts to execute and needs to send the computing result to the result user. To ensure the normal execution of the computing task and prevent the computing result from being leaked, a secure computing environment needs to be provided for the execution of the computing task.

[0135] In a possible implementation, the result user can submit a computing task to a Trusted Execution Environment (TEE) so that the computing task can be executed in the trusted computing environment. The trusted computing environment is a computing environment with relatively high security that can be implemented by hardware with relatively high security. Among them, the result user is one of multiple participating parties. The computing task is used to instruct the trusted computing environment to obtain computing resources provided for the computing task from multiple participating parties. For example, obtain data resources from a data provider and obtain computing model resources from a model provider, etc., and integrate the computing resources to determine a computing result by executing the computing task.

[0136] After the computing task is executed to obtain the computing result, in order to avoid the leakage of the computing result, the identity public key of the result user can be used to encrypt the computing result to obtain an encrypted computing result. In this way, the result user can obtain the encrypted computing result from the trusted computing environment. Since only the result user can successfully decrypt the encrypted computing result, even if the encrypted computing result is leaked, the true computing result cannot be cracked. The result user can use the identity private key corresponding to the identity public key to decrypt the encrypted computing result and successfully decrypt to obtain the computing result.

[0137] As an example, refer to Figure 6 As shown, it is an interaction schematic diagram of each participating party during the execution of a computing task provided by an embodiment of the present application. The BCC management and control platform, the blockchain, and the trusted computing environment can communicate with each other. In the computing task creation process, first, the computing task creator can create a computing task. The data provider A, the data provider B, and the computing model provider can approve the computing task through their respective BCC management and control platforms as needed. In the computing task execution process, the result user can trigger the execution of the computing task, and then pull the computing model from the computing model provider into the trusted computing environment. The data provider A and the data provider B can provide data resources to the trusted computing environment. Among them, the data provider can use the identity private key to encrypt the private plaintext data in the private plaintext database to obtain public ciphertext data. The trusted computing environment can use the identity public key of the data provider to decrypt the public ciphertext data, perform calculations in combination with the pulled model, encrypt the calculation result with the identity public key of the result user, and send it to the public result ciphertext database specified by the result user in the computing task. The result user uses the identity private key to decrypt the data and writes the decryption result into the private result plaintext database.

[0138] Thus, it is ensured that the result user can use the computing result normally, and the leakage of the computing result can be avoided. The computing task can not only be executed securely without being damaged, but also ensure that the computing result is only provided for the result user to use, improving the security of the data.

[0139] In the embodiments of the present application, with reference to Figure 7 As shown, it is a schematic diagram of the creation process of a computing task provided by the embodiments of the present application. The participating parties include a computing task creator, a resource provider (data provider, computing model provider), and a result user. Each participating party can interact with the blockchain through their respective BCC control platforms. The computing task creator can create a computing task through the corresponding BCC control platform. The computing task can include a task identifier, identifiers of each participating party involved in the computing task, and public key signatures of each participating party. The BCC control platform can perform parameter and legality checks. If the checks pass, the BCC control platform can upload the computing task to the blockchain. At the same time, it can also record the blockchain status of the computing task as the authorized status, thereby indicating that the computing task has been added to the chain.

[0140] Next, a second contract event can be triggered. The second contract event is the computing task authorization in event to notify the participating parties of the computing task to perform approval operations on the computing task. That is to say, it enters the computing task approval stage. The BCC control platforms of each participating party can identify on-chain events and subscribe to the event that the on-chain computing task status is authorized. Since the public key signature of the participating party is included in the computing task, when the identity private key of the participating party can unlock the public key signature, it indicates that the computing task is an event that the participating party needs to process, and events that need to be processed by users other than the current BCC control platform are ignored.

[0141] Each approver of the computing task will receive an event notification. The BCC control platform can notify the task approver through the pending event. The user can process the pending event, such as making an approval of consent or rejection. If the user consents, the identity private key of the participating party can be used to sign the computing task to obtain a task signature, and the task signature is uploaded to the blockchain. The blockchain can perform statistics on the task signature. If all the signatures are collected, task signature collection is performed, that is, all the task signatures are added to the computing task, indicating that each participating party has authorized the computing task, determining that the computing task authorization is successful, and the status of the computing task in the blockchain can also be updated to the authorized success status, thereby completing the construction process of the computing task.

[0142] With reference to Figure 8As shown in the figure, it is a schematic diagram of the acquisition process of a computing task provided by an embodiment of the present application. After the computing task is successfully approved and authorized, the computing task can be started regularly or manually by the result user. When the result user manually starts the computing task, the BCC control platform can check the parameter legality. After passing the check, it can check whether the computing task has been successfully authorized. If it is successfully authorized, it can check whether the blockchain status of the task instance of the computing task is the created state. If it is not the created state, it checks whether the blockchain status of the task instance is in the executing state. If it is not in the executing state, it generates instance query parameters for the blockchain network to chain the task instance, and the BCC control platform creates a target task instance.

[0143] It can be understood that a computing task can create multiple task instances. For example, for a computing task that needs to be executed periodically, if the data is updated, different computing instances corresponding to different data can be created, and there can be one task instance in the executing or created state at the same time.

[0144] Then, for evidence storage and chaining, the target task instance is chained to the blockchain. The blockchain status of the target task instance can also be recorded as the created state, and the first contract event for the target task instance is triggered to notify all parties involved in the computing task that the target task instance has been created and the computing task is pending execution. During the execution of the computing task, each BCC control platform will perform on-chain event recognition and subscribe to the first contract event on the chain, that is, the computing task pending execution contract event. If the result user of the computing task is not a user of the current BCC control platform, the current BCC control platform ignores the computing task. If the result user is a user of the current BCC control platform, it continues to execute. It can obtain the complete computing task from the blockchain network according to the event information such as the task instance number, that is, the computing task with the task signatures of all parties involved, and update the blockchain status of the task instance to the executing state.

[0145] Then, refer to Figure 9 As shown in the figure, it is a schematic diagram of the execution process of a computing task provided by an embodiment of the present application. The BCC control platform of the result user can submit the computing task to the computing engine to perform confidential computing in the TEE environment. According to the computing task, the computing engine can pull the data source ciphertext 1, pull the data source ciphertext 2, pull the computing model, perform confidential computing, and then encrypt the computing result with the public key of the result user's identity to obtain the encrypted computing result, and push it to the computing result ciphertext storage database. The computing engine returns the computing execution status to the BCC control platform. If the execution is successful, the status of the target task instance is updated to successful. If the execution fails, the status of the target task instance is updated to failed. If the execution times out, the status of the target task instance is updated to timed out.

[0146] Reference Figure 10 As shown in the figure, it is a schematic diagram of a data processing device 1000 provided by an embodiment of the present application. The device includes:

[0147] A first acquisition unit 1001, configured to acquire an instance query request sent by a result user of a computing task, where the computing task is used to identify multiple participating parties involved in the computing task, and the computing resources provided by the multiple participating parties for the computing task, and the result user is one of the multiple participating parties;

[0148] A return unit 1002, configured to return instance query parameters to the result user, where the instance query parameters are used to identify whether the blockchain network has conditions for uploading the task instance corresponding to the computing task to the chain;

[0149] A second acquisition unit 1003, configured to acquire an operation of uploading the target task instance of the computing task by the result user, where the target task instance is generated when the instance query parameters indicate that the blockchain network has conditions for uploading to the chain;

[0150] An uploading unit 1004, configured to upload the target task instance to the blockchain network and return the computing task to the result user, where the computing task is used to indicate that the computing task has execution conditions.

[0151] Optionally, the device further includes:

[0152] A first update unit, configured to update the blockchain state of the target task instance to a created state;

[0153] A fifth acquisition unit, configured to acquire instance state update information from the result user, where the instance state update information is used to indicate that the computing task is executed;

[0154] A second update unit, configured to update the blockchain state of the target task instance to an in-execution state according to the instance state update information.

[0155] Optionally, the device further includes a parameter determination unit, configured to:

[0156] Determine the to-be-identified task instance corresponding to the computing task in the blockchain network;

[0157] In response to having the to-be-identified task instance and the blockchain state of the to-be-identified task instance being in a created state or an in-execution state, generate instance query parameters for identifying that the blockchain network does not have conditions for uploading the task instance corresponding to the computing task to the chain;

[0158] In response to having the task instance to be recognized and the blockchain state of the task instance to be recognized not being the created state and the executing state, or in response to not having the task instance to be recognized, generate instance query parameters for identifying that the conditions for uploading the task instance corresponding to the computing task to the blockchain network are met in the blockchain network.

[0159] Optionally, the device further includes:

[0160] A first triggering unit, configured to trigger a first contract event for the target task instance, where the first contract event is used to notify a set of terminals connected to the blockchain network that the target task instance for the computing task has been created.

[0161] Optionally, the device further includes:

[0162] A sixth obtaining unit, configured to obtain a task start request for the computing task, where the task start request is generated in a timed start manner or by the result user.

[0163] Optionally, the device further includes:

[0164] A seventh obtaining unit, configured to obtain execution result information sent by the result user, where the execution result information is used to identify the execution result of the computing task;

[0165] A third updating unit, configured to update the blockchain state of the target task instance according to the execution result information.

[0166] Optionally, the device further includes:

[0167] An eighth obtaining unit, configured to obtain the computing task sent by the task creator of the computing task, where the task creator is one of the multiple participating parties;

[0168] A second triggering unit, configured to upload the computing task to the blockchain network and trigger a second contract event for the computing task, where the second contract event is used to notify a set of terminals connected to the blockchain network of the task to be authorized for the computing task;

[0169] A ninth obtaining unit, configured to obtain a task signature of a pending terminal device that is a participating party in the set of terminals, where the task signature is encrypted with the identity private key of the pending terminal device;

[0170] A first decryption unit, configured to determine that the pending terminal device has authorized the computing task in response to decrypting the task signature with the identity public key of the pending terminal device to obtain the computing task;

[0171] A determination unit, configured to determine that the authorization of the computing task is successful in response to all of the multiple participating parties authorizing the computing task, and add the task signatures of the multiple participating parties to the computing task in the blockchain network.

[0172] Optionally, the second contract event carries the identity identifiers of the multiple participating parties, and the identity identifiers of the multiple participating parties are used to indicate the association relationship between the computing task and the terminal devices in the terminal set.

[0173] Optionally, the apparatus further includes:

[0174] A tenth acquisition unit, configured to acquire an identity application request of an unknown terminal device;

[0175] An allocation unit, configured to allocate a corresponding identity private key and an identity public key to the unknown terminal device according to the identity information of the unknown terminal device.

[0176] Optionally, the multiple participating parties at least include a data provider, a computing model provider, and a result user. The data provider is configured to provide data resources for the computing task, the computing model provider is configured to provide computing model resources for the computing task, and the result user is configured to execute the computing task and obtain a computing result.

[0177] Reference Figure 11 As shown in the figure, a schematic diagram of a data processing apparatus 1100 provided by an embodiment of the present application is shown. The apparatus includes:

[0178] A sending unit 1101, configured to send an instance query request for a computing task to a blockchain network. The computing task is used to identify multiple participating parties involved in the computing task and the computing resources provided by the multiple participating parties for the computing task;

[0179] A third acquisition unit 1102, configured to acquire instance query parameters from the blockchain network. The instance query parameters are used to identify whether the blockchain network has conditions for uploading a task instance corresponding to the computing task;

[0180] An initiating unit 1103, configured to initiate an operation of uploading a target task instance of the computing task to the blockchain network in response to the instance query parameters indicating that the blockchain network has conditions for uploading;

[0181] A fourth acquisition unit 1104, configured to acquire the computing task from the blockchain network. The computing task is used to indicate that the computing task has execution conditions.

[0182] Specifically, the apparatus further includes:

[0183] A submission unit, configured to submit the computing task through a result-using-direction trusted computing environment, where the result user is one of the multiple participating parties, and the computing task is used to instruct the trusted computing environment to obtain computing resources provided for the computing task from the multiple participating parties and determine a computing result according to the computing resources;

[0184] An eleventh unit, configured to obtain an encrypted computing result from the trusted computing environment, where the encrypted computing result is encrypted according to the public identity key of the result user;

[0185] A second decryption unit, configured to decrypt the encrypted computing result according to the private identity key of the result user to obtain the computing result.

[0186] Reference Figure 12 As shown, it is a schematic diagram of a data processing system provided by an embodiment of the present application. The system includes a terminal device and a server;

[0187] The server is configured to execute the method steps of any specific implementation manner of the data processing method;

[0188] The terminal device is configured to execute the method steps of the data processing method.

[0189] An embodiment of the present application further provides a computer device. The computer device is the computer device introduced above and may include a terminal device or a server. The foregoing data processing device may be configured in the computer device. The computer device will be introduced below with reference to the accompanying drawings.

[0190] If the computer device is a terminal device, please refer to Figure 13 As shown, an embodiment of the present application provides a terminal device. Taking the terminal device as a mobile phone as an example:

[0191] Figure 13 Shown is a block diagram of a part of the structure of a mobile phone related to the terminal device provided by an embodiment of the present application. Refer to Figure 13 , the mobile phone includes: a radio frequency (RF) circuit 1410, a memory 1420, an input unit 1430, a display unit 1440, a sensor 1450, an audio circuit 1460, a wireless fidelity (WiFi) module 1470, a processor 1480, and a power supply 1490, etc. Those skilled in the art can understand that Figure 13 the structure of the mobile phone shown in

[0192] does not constitute a limitation on the mobile phone and may include more or fewer components than shown in the figure, or combine some components, or have different component arrangements. Figure 13 The following will specifically introduce each component of the mobile phone in combination with

[0193] The RF circuit 1410 can be used for receiving and transmitting information or signals during calls. Specifically, after receiving the downlink information from the base station, it is processed by the processor 1480. Additionally, the uplink data designed is transmitted to the base station.

[0194] The memory 1420 can be used to store software programs and modules. The processor 1480 executes various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 1420. The memory 1420 mainly includes a program storage area and a data storage area. Among them, the program storage area can store the operating system, application programs required for at least one function (such as the sound playback function, image playback function, etc.); the data storage area can store data created according to the use of the mobile phone (such as audio data, phone book, etc.). In addition, the memory 1420 can include high-speed random access memory and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage devices.

[0195] The input unit 1430 can be used to receive input digital or character information, and generate key signal inputs related to the user settings and function controls of the mobile phone. Specifically, the input unit 1430 can include a touch panel 1431 and other input devices 1432.

[0196] The display unit 1440 can be used to display information input by the user or information provided to the user, as well as various menus of the mobile phone. The display unit 1440 can include a display panel 1441.

[0197] The mobile phone can also include at least one sensor 1450, such as a light sensor, motion sensor, and other sensors.

[0198] The audio circuit 1460, speaker 1461, and microphone 1462 can provide an audio interface between the user and the mobile phone.

[0199] WiFi belongs to short-distance wireless transmission technology. The mobile phone can help users send and receive emails, browse the web, and access streaming media through the WiFi module 1470, which provides users with wireless broadband Internet access.

[0200] The processor 1480 is the control center of the mobile phone, connecting various parts of the entire mobile phone using various interfaces and lines. By running or executing the software programs and / or modules stored in the memory 1420, and by calling the data stored in the memory 1420, it executes various functions of the mobile phone and processes data.

[0201] The mobile phone also includes a power supply 1490 (such as a battery) that powers each component.

[0202] In this embodiment, the processor 1380 included in the terminal device further has the following functions:

[0203] Obtain an instance query request sent by the result user of the computing task, where the computing task is used to identify multiple participating parties involved in the computing task and the computing resources provided by the multiple participating parties for the computing task, and the result user is one of the multiple participating parties;

[0204] Return instance query parameters to the result user, where the instance query parameters are used to identify whether the blockchain network has the condition to chain the task instance corresponding to the computing task;

[0205] Obtain the chaining operation of the target task instance of the computing task by the result user, where the target task instance is generated when the instance query parameters indicate that the blockchain network has the chaining condition;

[0206] Chain the target task instance on the blockchain network and return the computing task to the result user, where the computing task is used to indicate that the computing task has the execution condition;

[0207] Alternatively, send an instance query request for the computing task to the blockchain network, where the computing task is used to identify multiple participating parties involved in the computing task and the computing resources provided by the multiple participating parties for the computing task;

[0208] Obtain instance query parameters from the blockchain network, where the instance query parameters are used to identify whether the blockchain network has the condition to chain the task instance corresponding to the computing task;

[0209] In response to the instance query parameters indicating that the blockchain network has the chaining condition, initiate a chaining operation for the target task instance of the computing task to the blockchain network;

[0210] Obtain the computing task from the blockchain network, where the computing task is used to indicate that the computing task has the execution condition.

[0211] If the computer device is a server, the embodiments of the present application further provide a server. Please refer to Figure 14 as shown Figure 14The structural diagram of server 1500 provided by the embodiments of the present application. Server 1500 may vary significantly due to configuration or performance differences, and may include one or more central processing units (CPUs) 1522 (for example, one or more processors) and a memory 1532, and one or more storage media 1530 (for example, one or more mass storage devices) for storing application programs 1542 or data 1544. Among them, the memory 1532 and the storage media 1530 may be transient storage or persistent storage. The programs stored in the storage media 1530 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Further, the central processing unit 1522 may be configured to communicate with the storage media 1530 and execute a series of instruction operations in the storage media 1530 on the server 1500.

[0212] Server 1500 may further include one or more power supplies 1526, one or more wired or wireless network interfaces 1550, one or more input / output interfaces 1558, and / or one or more operating systems 1541, such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM and so on.

[0213] The steps performed by the server in the above embodiments may be based on Figure 14 the server structure shown.

[0214] In addition, the embodiments of the present application further provide a storage medium for storing a computer program, and the computer program is used to execute the method provided in the above embodiments.

[0215] The embodiments of the present application further provide a computer program product including a computer program, and when it runs on a computer device, it causes the computer device to execute the method provided in the above embodiments.

[0216] Those of ordinary skill in the art can understand that all or part of the steps to implement the above method embodiments can be completed by hardware related to program instructions. The foregoing program may be stored in a computer-readable storage medium, and when the program is executed, it executes the steps including the above method embodiments; and the foregoing storage medium may be at least one of the following media: read-only memory (English: Read-only Memory, abbreviation: ROM), RAM, magnetic disk or optical disk and other media that can store computer programs.

[0217] In the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of the overall module or unit that includes the function of that module or unit.

[0218] It should be noted that the embodiments in this specification are all described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. The key point of each embodiment is to illustrate the differences from other embodiments. In particular, for the embodiments of the device and system, since they are basically similar to the method embodiments, the description is relatively simple. For the relevant parts, reference can be made to the description of the method embodiments. The device and system embodiments described above are only illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative efforts.

[0219] As described above, this is only a specific implementation manner 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 those skilled in the art within the technical scope disclosed in the present application should be covered by the protection scope of the present application. Moreover, based on the implementation manners provided in the above aspects, the present application can be further combined to provide more implementation manners. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A data processing method, characterized in that, The method includes: Obtaining an instance query request sent by a result user of a computing task, where the computing task is used to identify multiple participating parties involved in the computing task and the computing resources provided by the multiple participating parties for the computing task, and the result user is one of the multiple participating parties; Returning instance query parameters to the result user, where the instance query parameters are used to identify whether the blockchain network has the condition for uploading the task instance corresponding to the computing task to the blockchain; Obtaining an upload operation of a target task instance of the computing task by the result user, where the target task instance is generated when the instance query parameters indicate that the blockchain network has the upload condition; Uploading the target task instance to the blockchain network and returning the computing task to the result user, where the computing task is used to indicate that the computing task has the execution condition.

2. The method according to claim 1, wherein After uploading the target task instance to the blockchain network, the method further includes: Updating the blockchain status of the target task instance to the created state; After returning the computing task to the result user, the method further includes: Obtaining instance status update information from the result user, where the instance status update information is used to indicate that the computing task is executed; Updating the blockchain status of the target task instance to the in-execution state according to the instance status update information.

3. The method according to claim 2, characterized in that The instance query parameters are determined in the following manner: Determining a to-be-identified task instance corresponding to the computing task in the blockchain network; In response to having the to-be-identified task instance and the blockchain status of the to-be-identified task instance being the created state or the in-execution state, generating instance query parameters for identifying that the blockchain network does not have the condition for uploading the task instance corresponding to the computing task to the blockchain; In response to having the to-be-identified task instance and the blockchain status of the to-be-identified task instance not being the created state and the in-execution state, or in response to not having the to-be-identified task instance, generating instance query parameters for identifying that the blockchain network has the condition for uploading the task instance corresponding to the computing task to the blockchain.

4. The method according to claim 2, characterized in that, After updating the blockchain status of the target task instance to the created state, the method further includes: Triggering a first contract event for the target task instance, where the first contract event is used to notify a set of terminals connected to the blockchain network that the target task instance of the computing task has been created.

5. The method according to claim 1, wherein Before obtaining the instance query request sent by the result user of the computing task, the method further includes: Obtaining a task start request of the computing task, where the task start request is generated by means of timed start or by the result user.

6. The method according to claim 1, characterized in that, The method further includes: Obtaining execution result information sent by the result user, where the execution result information is used to identify the execution result of the computing task; Updating the blockchain status of the target task instance according to the execution result information.

7. The method according to any one of claims 1-6, characterized in that, The method further includes: Obtain the computing task sent by the task creator of the computing task, where the task creator is one of the multiple participating parties; Chain the computing task on the blockchain network and trigger a second contract event for the computing task, where the second contract event is used to notify a set of terminals connected to the blockchain network of the task to be authorized for the computing task; Obtain the task signature of the pending terminal device that is a participating party in the set of terminals, where the task signature is encrypted using the identity private key of the pending terminal device; In response to decrypting the task signature using the identity public key of the pending terminal device to obtain the computing task, determine that the pending terminal device has authorized the computing task; In response to all of the multiple participating parties having authorized the computing task, determine that the authorization of the computing task is successful, and add the task signatures of the multiple participating parties to the computing task in the blockchain network.

8. The method according to claim 7, characterized in that The identity identifiers of the multiple participating parties are carried in the second contract event, and the identity identifiers of the multiple participating parties are used to indicate the association relationship between the computing task and the terminal devices in the set of terminals.

9. A data processing method, characterized in that The method includes: Send an instance query request for a computing task to the blockchain network, where the computing task is used to identify the multiple participating parties involved in the computing task and the computing resources provided by the multiple participating parties for the computing task; Obtain instance query parameters from the blockchain network, where the instance query parameters are used to identify whether the blockchain network has the condition to chain the task instance corresponding to the computing task; In response to the instance query parameters indicating that the blockchain network has the chaining condition, initiate a chaining operation for the target task instance of the computing task to the blockchain network; Obtain the computing task from the blockchain network, where the computing task is used to indicate that the computing task has the execution condition.

10. A data processing device, characterized in that, The device includes: A first obtaining unit, configured to obtain an instance query request sent by a result user of the computing task, where the computing task is used to identify the multiple participating parties involved in the computing task and the computing resources provided by the multiple participating parties for the computing task, and the result user is one of the multiple participating parties; A returning unit, configured to return instance query parameters to the result user, where the instance query parameters are used to identify whether the blockchain network has the condition to chain the task instance corresponding to the computing task; A second obtaining unit, configured to obtain the chaining operation of the target task instance of the computing task by the result user, where the target task instance is generated when the instance query parameters indicate that the blockchain network has the chaining condition; A chaining unit, configured to chain the target task instance on the blockchain network and return the computing task to the result user, where the computing task is used to indicate that the computing task has the execution condition.

11. A data processing device, characterized in that, The device includes: A sending unit, configured to send an instance query request for a computing task to a blockchain network, where the computing task is used to identify multiple parties involved in the computing task, and the computing resources provided by the multiple parties for the computing task; A third obtaining unit, configured to obtain instance query parameters from the blockchain network, where the instance query parameters are used to identify whether the blockchain network has conditions for uploading a task instance corresponding to the computing task; An initiating unit, configured to initiate an operation of uploading a target task instance of the computing task to the blockchain network in response to the instance query parameters indicating that the blockchain network has conditions for uploading; A fourth obtaining unit, configured to obtain the computing task from the blockchain network, where the computing task is used to indicate that the computing task has execution conditions.

12. A data processing system, characterized in that, The system includes a terminal device and a server; The server is configured to execute the method according to any one of claims 1-8; The terminal device is configured to execute the method according to claim 9.

13. A computer device, characterized in that, The computer device includes a processor and a memory: The memory is configured to store a computer program and transmit the computer program to the processor; The processor is configured to execute the method according to any one of claims 1-8, or the method according to claim 9, according to the computer program.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium is configured to store a computer program, and the computer program, when executed by a computer device, implements the method according to any one of claims 1-8, or the method according to claim 9.

15. A computer program product including a computer program, which, when running on a computer device, causes the computer device to execute the method according to any one of claims 1-8, or the method according to claim 9.