CN117034280A - Parallel processing method and related equipment - Google Patents

Parallel processing method and related equipment Download PDF

Info

Publication number
CN117034280A
CN117034280A CN202310849848.0A CN202310849848A CN117034280A CN 117034280 A CN117034280 A CN 117034280A CN 202310849848 A CN202310849848 A CN 202310849848A CN 117034280 A CN117034280 A CN 117034280A
Authority
CN
China
Prior art keywords
data
trusted
sub
trusted computing
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310849848.0A
Other languages
Chinese (zh)
Inventor
邱炜伟
汪小益
姚文豪
李伟
詹士潇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202310849848.0A priority Critical patent/CN117034280A/en
Publication of CN117034280A publication Critical patent/CN117034280A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The application is applicable to the technical field of data processing, and provides a parallel processing method and related equipment, wherein the method can be executed by a trusted computing equipment group, the trusted computing equipment group comprises a plurality of trusted computing equipment, the trusted computing equipment comprises a trusted sandbox, and the parallel processing method comprises the following steps: receiving a plurality of data party data, wherein each data party data is provided by a corresponding data party device; and running corresponding sub-models in each trusted sandbox according to the data of the multiple data parties, wherein at least two sub-models run in parallel, all the sub-models form a preset model, and the preset model is provided by model party equipment. The trusted computing device group can provide a plurality of trusted sandboxes, and then respectively run corresponding sub-models in each trusted sandbox according to the data of the plurality of data parties, so that part of the sub-models can run in parallel, and the execution efficiency of the trusted computing task is improved.

Description

Parallel processing method and related equipment
Technical Field
The application belongs to the technical field of data processing, and particularly relates to a parallel processing method and related equipment.
Background
Because a large amount of computation and data processing are often involved in executing the trusted computing task, if the execution efficiency is not high, the execution time of the task will be prolonged, resulting in resource waste and increased operation cost. Therefore, how to improve the execution efficiency of the trusted computing task is a technical problem to be solved.
Disclosure of Invention
The embodiment of the application provides a parallel processing method and related equipment, which can improve the execution efficiency of a trusted computing task.
A first aspect of an embodiment of the present application provides a parallel processing method applied to a trusted computing device group, where the trusted computing device group includes a plurality of trusted computing devices, and the trusted computing device includes a trusted sandbox, where the parallel processing method includes: receiving a plurality of data party data, wherein each data party data is provided by a corresponding data party device; and running corresponding sub-models in each trusted sandbox according to the data of the multiple data parties, wherein at least two sub-models run in parallel, all the sub-models form a preset model, and the preset model is provided by model party equipment.
In a possible implementation manner of the first aspect, the running a corresponding sub-model in each trusted sandbox according to the plurality of data party data includes:
after the data side equipment checks and determines to send out the corresponding data side data, each trusted computing equipment receives the corresponding data side data respectively;
each trusted computing device obtains voting results of the corresponding sub-model from a blockchain system before inputting the data of the data party into the trusted sandbox for execution, wherein the blockchain system comprises a plurality of blockchain nodes;
If the voting results recorded by the block chain nodes with the preset proportion number are all passed, the trusted computing equipment runs the corresponding sub-model in the trusted sandbox.
Optionally, in a further possible implementation manner of the first aspect, before running a corresponding sub-model in each trusted sandbox according to the plurality of data party data, the method further includes:
and splitting the preset model according to the use sequence of the data parties to obtain a plurality of sub-models.
Optionally, in a further possible implementation manner of the first aspect, the parallel processing method further includes:
receiving preset limiting conditions sent by each data side device;
in each trusted sandbox for inputting data of the data party, judging whether an output result of the sub-model meets a corresponding preset limiting condition or not;
if not, outputting a final trusted computing result.
Optionally, in another possible implementation manner of the first aspect, the trusted computing device runs a first computer program, where the first computer program is configured to trigger the trusted sandboxes to run corresponding sub-models, and before running the corresponding sub-models in each trusted sandbox according to the plurality of data side data, the parallel processing method further includes:
Acquiring a current hash value corresponding to each trusted sandbox and the first computer program;
signing each current hash value respectively to generate a corresponding current hash signature;
transmitting each current hash value and the current hash signature to the blockchain system so that the blockchain system verifies whether the current hash signatures are identical according to the original hash signatures and verifies whether the current hash values are identical according to the original hash values;
and if each trusted sandbox and the first computer program pass through the hash signature verification and the hash value verification, determining to execute the corresponding sub-model in each trusted sandbox according to the data of the plurality of data parties.
Optionally, in a further possible implementation manner of the first aspect, the parallel processing method further includes:
comparing the corresponding program names with a preset white name list aiming at all running programs currently running in the trusted computing equipment;
and deleting the running program process of which the program name is not matched with the preset white list.
A second aspect of an embodiment of the present application provides another parallel processing method, applied to a model device, where the parallel processing method includes:
splitting a preset model according to the use sequence of a plurality of data sides to obtain a plurality of sub-models, wherein each data side is provided by corresponding data side equipment;
And sending the sub-models to a trusted computing device group, so that the trusted computing device group receives a plurality of data party data, and running corresponding sub-models in each trusted sandbox according to the plurality of data party data, wherein the trusted computing device group comprises a plurality of trusted computing devices, the trusted computing device comprises a trusted sandbox, and at least two sub-models run in parallel.
A third aspect of an embodiment of the present application provides still another parallel processing method, applied to a data side device, including:
and auditing the data of the data party, generating audit confirmation information, and sending the data party data to the trusted computing equipment group according to all audit confirmation information when other data party equipment generates corresponding audit confirmation information, so that the trusted computing equipment group receives the data of each data party, and running corresponding sub-models in each trusted sandbox according to the data of each data party, wherein at least two sub-models run in parallel.
A fourth aspect of embodiments of the present application provides a trusted computing device group comprising a plurality of trusted computing devices, the trusted computing device comprising a trusted sandbox, the trusted computing device group comprising:
The data receiving module is used for receiving a plurality of data party data, wherein each data party data is provided by corresponding data party equipment;
the model operation module is used for operating the corresponding sub-model in each trusted sandbox according to the data of the multiple data parties, wherein at least two sub-models are operated in parallel, all the sub-models form a preset model, and the preset model is provided by model party equipment.
A fifth aspect of an embodiment of the present application provides a model-side apparatus including:
the model splitting module is used for splitting the preset model according to the use sequence of the data parties to obtain a plurality of sub-models, wherein each data party is provided by the corresponding data party equipment;
the model sending module is used for sending each sub-model to the trusted computing device group so that the trusted computing device group receives a plurality of data party data and runs corresponding sub-models in each trusted sandbox according to the plurality of data party data, wherein the trusted computing device group comprises a plurality of trusted computing devices, the trusted computing devices comprise trusted sandboxes, and at least two sub-models run in parallel.
A sixth aspect of an embodiment of the present application provides a data side apparatus, including:
The data auditing module is used for auditing the data of the data party, generating auditing confirmation information, and sending the data of the data party to the trusted computing equipment group according to all auditing confirmation information when other data party equipment generates corresponding auditing confirmation information, so that the trusted computing equipment group receives the data of each data party, and running corresponding sub-models in each trusted sandbox according to the data of each data party, wherein at least two sub-models run in parallel.
A seventh aspect of an embodiment of the present application provides a terminal device, including: a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the parallel processing method of the first, second or third aspect described above when executing the computer program.
An eighth aspect of the embodiments of the present application provides a computer-readable storage medium storing a computer program which, when executed by a processor, implements the parallel processing method of the first aspect, the second aspect, or the third aspect.
A ninth aspect of an embodiment of the present application provides a computer program product for, when run on a terminal device, causing the terminal device to perform the parallel processing method of the first, second or third aspect described above.
Compared with the prior art, the embodiment of the application has the beneficial effects that: the trusted computing device group is provided with a plurality of trusted sandboxes, and then corresponding sub-models are respectively operated in each trusted sandbox according to the data of a plurality of data parties, so that part of the sub-models can be operated in parallel, and the execution efficiency of the trusted computing task is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments or the description of the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a trusted computing system provided by an embodiment of the present application;
FIG. 2 is a schematic diagram of a trusted computing device provided by an embodiment of the present application;
FIG. 3 is a block chain system architecture diagram according to an embodiment of the present application;
FIG. 4 is a schematic flow chart of a parallel processing method according to an embodiment of the present application;
fig. 5 is an application scenario schematic diagram of a parallel processing method provided by an embodiment of the present application;
FIG. 6 is a flow chart of another parallel processing method according to an embodiment of the present application;
FIG. 7 is a schematic diagram of data interaction of a parallel processing method according to an embodiment of the present application;
FIG. 8 is a schematic diagram of a trusted computing device group provided by an embodiment of the present application;
fig. 9 is a schematic structural diagram of a model device according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a data side device according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as the particular system architecture, techniques, etc., in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
It should be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be understood that the term "and/or" as used in the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
As used in the present description and the appended claims, the term "if" may be interpreted as "when..once" or "in response to a determination" or "in response to detection" depending on the context. Similarly, the phrase "if a determination" or "if a [ described condition or event ] is detected" may be interpreted in the context of meaning "upon determination" or "in response to determination" or "upon detection of a [ described condition or event ]" or "in response to detection of a [ described condition or event ]".
Furthermore, the terms "first," "second," "third," and the like in the description of the present specification and in the appended claims, are used for distinguishing between descriptions and not necessarily for indicating or implying a relative importance.
Reference in the specification to "one embodiment" or "some embodiments" or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," and the like in the specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments" unless expressly specified otherwise. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
It should be understood that the sequence number of each step in this embodiment does not mean the sequence of the operation sequence, and the operation sequence of each process should be determined by the function and the internal logic of each process, and should not limit the implementation process of the embodiment of the present application in any way.
In the related art, since a large amount of computation and data processing are often involved in performing a trusted computing task, if the execution efficiency is not high, the execution time of the task will be prolonged, resulting in resource waste and increased operation cost.
In view of this, the embodiments of the present application provide a parallel processing method and related devices, where a trusted computing device group provides a plurality of trusted sandboxes, and then, according to a plurality of data sets, runs corresponding sub-models in each trusted sandbox, so that part of the sub-models may run in parallel, thereby improving the execution efficiency of trusted computing tasks.
In order to illustrate the technical scheme of the application, the following description is given by specific examples.
Referring to fig. 1, a schematic structural diagram of a trusted computing system provided by an embodiment of the present application is shown, where, as shown in fig. 1, the trusted computing system 100 includes a trusted computing device group 110, at least one data side device 102, a model side device 103 and a blockchain system 300, where each data side device 102 provides at least one set of data side data, the model side device 103 provides a preset model, and the data formats of the data side data and the preset model can be selected in combination with an actual application scenario. The trusted computing device group 110 includes a plurality of trusted computing devices 101, each trusted computing device 101 includes a trusted sandbox, a preset model is split into a plurality of sub-models in advance, the trusted computing device 101 may invoke a corresponding sub-model operation model calculation process in the trusted sandbox, and finally, after all sub-models are operated, a trusted computing result is generated.
Fig. 2 is a schematic structural diagram of a trusted computing device according to an embodiment of the present application. As shown in fig. 2, the trusted computing device 101 of this embodiment includes: a trusted network card 204, a trusted module 205, a trusted sandbox 206, an operating system 207, at least one first processor 201 (only one processor is shown in fig. 2), a first memory 202, and a first computer program 203, such as a model computer program, stored in the first memory 202 and executable on the at least one first processor 201. The first processor 201, when executing the first computer program 203, implements the corresponding sub-model calculation steps. The trusted module 205 is configured to verify the trusted sandbox 206, so as to avoid privacy security problems caused by tampering with the trusted sandbox 206.
In the embodiment of the application, the trusted computing device group is provided by the device operator, but it is required to be noted that the device operator cannot obtain the data party data, the preset model, each sub-model, the computing result of each sub-model, the finally generated trusted computing result and the like from the trusted computing device group, so that the data privacy is ensured.
In the embodiment of the application, the trusted network card is used for controlling a data input source and/or a data output source which are accessed to the trusted computing equipment. In practice, the trusted network card controls the trusted computing device to operate in a safe and trusted environment by controlling a data input source and/or a data output source which are accessed to the trusted computing device. In practical applications, the trusted computing device is typically controlled by the blockchain system through a trusted network card implementation. As an example, the blockchain system may send a control instruction to the trusted computing device through the trusted network card, so that the trusted computing device runs an operation corresponding to the control instruction.
In connection with fig. 2, trusted computing device 101 may also include trusted module 205 and trusted sandbox 206.
The trusted module 205 is configured to verify target software and target information in the trusted computing device, where the target software includes operating system software and sandboxed software, and the target information is information received from a blockchain system.
The operating system software is typically software for implementing operating system functions. The sandboxed software described above is typically software for implementing the functionality of a trusted sandbox. The target information may be control information, which may be implemented as a control instruction or as task information for indicating a task to be executed.
In practice, trusted modules typically verify operating system software when the operating system is started, and sandboxed software when the trusted sandbox is started. In addition, the trusted module can also verify the sandboxed program when the sandboxed program running in the trusted sandbox is started.
By way of example, the trusted module may verify the target software by: and calculating a hash value of the target software, for example, an MD5 value, comparing the hash value of the target software stored in advance with the calculated hash value, and if the hash value stored in advance is consistent with the calculated hash value, considering that the target software passes the verification, wherein the target software is safe and reliable. Otherwise, if the prestored hash value is inconsistent with the calculated hash value, the verification of the target software is considered to be failed, and at the moment, the target software may be tampered.
As an example, the trusted module may verify the target information by: the public key of each blockchain node can be stored in advance in the trusted computing device, when the trusted computing device receives the target information sent by a certain blockchain node, the public key of the blockchain node can be used for checking the received target information to determine whether the target information comes from a blockchain system or not, for example, if the public key can successfully decrypt the target information, the verification is passed, otherwise, if the decryption cannot be successfully performed, the verification is not passed. The trusted module checks the target information, so that the trusted computing device can only respond to the control from the blockchain system, the control right of the trusted computing device is moved to the blockchain system, and the trusted control of the trusted computing device can be realized.
In some application scenarios, the trusted module may include a trusted basic input output component (Basic Input Output System, BIOS), a trusted cryptography component, and a trusted authentication component. The trusted BIOS component is used for verifying target software in the trusted computing device, and the target software comprises operating system software and sandboxed software. The trusted authentication component is to verify target information in the trusted computing device, the target information being information received from the blockchain system. The trusted cryptography component is used for realizing data signature, password derivation, data decryption, identity authentication and the like of the trusted computing device.
The trusted sandbox 206 is a trusted execution space for providing security isolation and a running environment, and ensures that internal data can be used and cannot be acquired by external devices. The sandbox program running in the trusted sandbox is a program checked by the blockchain system. The sandbox program is a program running in a trusted sandbox.
In practice, a trusted sandbox is the smallest unit of execution of a trusted computing device. The trusted computing device may have a trusted sandbox therein. When the trusted computing device invokes a sub-model from the model-side device to perform a model calculation process under control of the blockchain system, the trusted sandbox may provide a corresponding trusted execution space.
In practical applications, the trusted sandboxes generally have the following characteristics: first, the sandboxed program running in the trusted sandbox is a program checked by the blockchain system and cannot be counterfeited. Second, when the sandboxed program is started, it is checked by the trusted module, specifically, it may be checked by the trusted BIOS component in the trusted module. Third, the sandboxed program provides no entry to the outside. Fourth, temporary data generated by the sandboxed program is stored in the hard disk in the form of ciphertext. Fifth, the data generated by the sandboxed program is destroyed at the end of execution of the sandboxed program.
As an example, a trusted computing device may verify a sandboxed program by: the trusted computing device may calculate a hash value of the sandboxed program, send the calculated hash value to the blockchain system, and find whether the hash value of the sandboxed program exists by the blockchain system, if so, check to pass, otherwise, check to fail.
The sandbox program is a program checked by the block chain system, so that the safe and reliable sandbox program can be operated in the sandbox, and the data calculation safety is further ensured.
In some alternative implementations of the present embodiments, the trusted computing device has no available contact data transfer interface.
The contact data transmission interface may include, but is not limited to, a mouse interface, a keyboard interface, and the like.
Here, the unavailable contact data transmission interface may be that the contact data transmission interface does not exist on the trusted computing device; it is also possible that there is a contact data transfer interface on the trusted computing device, but all contact data transfer interfaces are disabled.
In some alternative implementations of the present embodiments, the trusted computing device determines the interface data as valid data when the trusted computing device has a contact data transfer interface available and the interface data entered through the contact data transfer interface is authenticated by the blockchain system.
Here, in the case that the trusted computing device has a contact data transmission interface available, in order to ensure data security of the trusted computing device, when the trusted computing device receives interface data input by the contact data transmission interface, the trusted computing device may send the interface data to the blockchain system, and the blockchain system authenticates the interface data, for example, each node in the blockchain system may vote, and if each node votes for the interface data, the trusted computing device considers that the interface data is authenticated by the blockchain system, and at this time, the trusted computing device determines the interface data as valid data and may respond to the interface data.
The trusted computing device authenticates the interface data by the blockchain system, and determines the interface data as valid data only when the interface data is authenticated by the blockchain system, so that the trusted computing device can respond to the interface data approved by the blockchain system only, and the control right of the trusted computing device is moved to the blockchain system, and the trusted control of the trusted computing device can be realized.
Referring to fig. 3, a blockchain system 300 refers to a system for data sharing from node to node, and a plurality of nodes 301 may be included in the blockchain system 300. Each node 301 may receive input information during normal operation and maintain shared data within the blockchain system 300 based on the received input information. To ensure interworking of information within the blockchain system 300, there may be an information connection between each node 301 in the blockchain system 300 through which information may be transferred between the nodes 301. For example, when any node 301 in the blockchain system 300 receives input information, other nodes 301 in the blockchain system 300 acquire the input information according to a consensus algorithm, and store the input information as data in shared data, so that the data stored on all nodes 301 in the blockchain system 300 are consistent. That is, each node 301 in the blockchain system 300 stores one and the same blockchain.
Blockchain system 300 has distributed data storage, point-to-point transmission, consensus mechanisms, encryption algorithms, and other computer technologies. The blockchain system 300 is a distributed shared ledger and database, and has the characteristics of decentralization, non-tampering, whole-course trace, traceability, collective maintenance, disclosure transparency and the like. These features ensure the shared openness, realism, integrity and safety and reliability of the blockchain.
In an embodiment of the present application, nodes in the blockchain system 300 may be used to send control instructions to a group of trusted computing devices to perform the parallel processing method below.
The parallel processing method provided by the embodiment of the application is described in detail below by taking a trusted computing device group as an example.
Referring to fig. 4, a flow diagram of a parallel processing method according to an embodiment of the present application is shown.
As shown in fig. 4, the parallel processing method may include the steps of:
step 401, a plurality of data-side data is received.
Wherein each data party data is provided by a corresponding data party device.
It should be noted that, in order to ensure the privacy of the data party, each data party device may encrypt the data of the data party by using the public key of the trusted module in the corresponding trusted computing device in advance, where the public key of each trusted module is uploaded to the blockchain system in advance, and after receiving the encrypted data of the data party, the trusted sandbox in the trusted computing device decrypts the data of the data party by reading the private key of the trusted module, so as to obtain the data of the data party.
Step 402, running a corresponding sub-model in each trusted sandbox based on the plurality of data-party data.
At least two sub-models run in parallel, all the sub-models form a preset model, and the preset model is provided by model side equipment.
As a possible implementation manner, each sub-model may be that the model side device splits the preset model according to the use sequence of the data sides to obtain a plurality of sub-models, then determines a trusted sandbox matched with each sub-model, and finally sends each sub-model to the trusted sandbox in the corresponding trusted computing device. In order to ensure the privacy of each sub-model, the model side device can encrypt the sub-model by using the public key of the corresponding trusted module in advance, and after receiving the encrypted sub-model, the trusted sandbox in the trusted computing device decrypts the sub-model by reading the private key of the trusted module, thereby obtaining the sub-model.
As another possible implementation manner, the model side device may send a complete preset model, and the trusted computing device group may receive the preset model provided by the model side device, and then split the preset model according to the use sequence of the plurality of data side data to obtain a plurality of sub-models.
Referring to fig. 5, an application scenario of a parallel processing method is illustrated, where, as shown in fig. 5, the scenario takes four data-side devices and a model-side device as an example to participate in the parallel processing method, an original trusted computing task includes four steps, each corresponding to a sub-model, step one requires to use data-side data one to execute a model computing process, step two requires to use data-side data two and data-side data three to execute a model computing process, step four requires to use data-side data four to execute a model computing process, step four requires to use computing results after all of step one, step two and step three complete computation as input, and the model computing process can be continuously executed, after step four is completed, a final trusted computing result is generated. Compared with the traditional mode of sequentially executing each step by using the preset model, the method and the device have the advantages that the preset model is split into the plurality of sub-models and is respectively put into each trusted sandbox to operate, so that the first step, the second step and the third step can be executed in parallel, and the execution efficiency of the trusted computing task is further improved.
It should be noted that the trusted sandbox used for each step may be determined by parameters of the trusted sandbox, such as CPU (Central Processing Unit ), memory, disk, etc. If the conditions such as the CPU, the memory, the disk and the like of the trusted sandbox are insufficient to complete the corresponding model calculation process, the execution of the trusted computing task may fail.
Further, before the data party device sends the corresponding data party data, the data party device needs to perform audit confirmation on the data party data, and only after all data party devices corresponding to the data party data required by the sub-model need to confirm, for example, assuming that 10 data party devices in total are respectively data party device a, data party device b, data party devices c, … … and data party device j, wherein a certain sub-model needs to use the data party data of the data party device a, the data party device b and the data party device c, before the data party device a, the data party device b and the data party device c send the corresponding data party data, the data party data corresponding to the data party device a, the data party device b and the data party device c need to be subjected to audit confirmation, and then sent after confirmation. In addition, the blockchain system comprises a plurality of blockchain nodes, the data side equipment can vote on whether to agree to provide the data side data required by each sub-model in advance, after the voting result is uplink, the sub-model can be verified whether to be reliable by querying the voting results of the corresponding sub-model from a selected number of blockchain nodes, so before the sub-model is run in the sandbox, the corresponding voting results recorded by the selected number of blockchain nodes are queried, and then verification is performed according to the recorded voting results. That is, as a possible implementation manner of the embodiment of the present application, the step 402 may include:
After the data side equipment checks and determines to send out the corresponding data side data, each trusted computing equipment receives the corresponding data side data respectively;
each trusted computing device obtains voting results of the corresponding sub-model from a blockchain system before inputting the data of the data party into the trusted sandbox for execution, wherein the blockchain system comprises a plurality of blockchain nodes;
if the voting results recorded by the block chain nodes with the preset proportion number are all passed, the trusted computing equipment runs the corresponding sub-model in the trusted sandbox.
The predetermined proportion may be one hundred percent, that is, the voting result recorded by all the blockchain nodes in the blockchain system may be queried, or the voting result generated by voting of part of the blockchain nodes may be queried, for example, one third of the blockchain nodes in the blockchain system, or two thirds of the blockchain nodes in the blockchain system. It should be understood that the higher the proportion of the number of the block chain link points to be queried, the higher the reliability of the corresponding submodel, but the more likely the situation that the block chain link points are disqualified or a network of a certain block chain node is interrupted, the inconsistent voting results of the block chain nodes are caused, and the corresponding submodel cannot be operated. Therefore, the preset proportional number of the blockchain node queries can be determined in combination with actual application scenes and requirements, which is not limited by the present application.
For example, assuming that the blockchain system includes 100 blockchain nodes, the preset proportion is 67%, the voting results recorded by 67 blockchain nodes need to be queried, if the voting results recorded by the 67 blockchain nodes are all passed, the submodel can be determined to be reliable, otherwise, the submodel is determined to be unreliable, and the current trusted computing task is stopped.
In the embodiment of the application, the trusted computing device group can receive the control instruction corresponding to each trusted sandbox sent by the blockchain system, wherein the control instruction is generated after the parallel processing method is confirmed by the model side device, and then the parallel processing method is executed in response to each control instruction. The control instruction may include a sub-control instruction executed for each step, and for the step requiring participation of data of the data party, the data party device and the model party device are required to determine to generate the sub-control instruction together, so as to ensure validity and credibility of the control instruction.
In one possible implementation manner, for the step of requiring the model side device to operate together with the data side device, in order to further improve the privacy of the trusted sandboxes, a preset constraint condition sent by each data side device may also be received, and then in each trusted sandbox inputting data of the data side, whether the output result of the sub-model meets the corresponding preset constraint condition is judged, if both are negative, a final trusted computing result is output. Specifically, the output result of the submodel can be limited by a regular expression, which is a tool for describing and matching character string patterns, and proper regular expressions can be written to verify the output data, so that the returned fields meet specific formats and types, and the output is not allowed without verification. In addition, the output result of the sub-model can be limited by a data dictionary, which is a document or structure containing definitions, rules and constraints of fields in a data set, the data dictionary can provide detailed description of the fields, including information of data types, length limitation, allowed value ranges and the like of the fields, and by using the data dictionary, the attributes of the fields can be defined and managed, and the returned field content can be ensured to meet the expected rules and requirements.
In the embodiment of the application, in the process of executing the parallel processing method, the trusted module of each trusted computing device can be utilized to verify the hash value and the hash signature of the trusted sandbox and the first computer program, so that the trusted computing device comprising the trusted sandbox and the first computer program is prevented from being tampered. The original hash value corresponding to each trusted sandbox is uploaded to the blockchain system in advance, the original hash signature of each trusted sandbox passes through verification of the blockchain system in advance, and the original hash signature is generated by signing the original hash value. Specifically, a current hash value corresponding to each trusted sandbox and a first computer program is firstly obtained; then, signing each current hash value respectively to generate a corresponding current hash signature; then, each current hash value and the current hash signature are sent to the block chain system, so that the block chain system verifies whether the current hash signatures are identical according to the original hash signatures and verifies whether the current hash values are identical according to the original hash values; and if each trusted sandbox and the first computer program pass through the hash signature verification and the hash value verification, determining to execute the corresponding sub-model in each trusted sandbox according to the data of the plurality of data parties.
In the embodiment of the application, in the process of executing the parallel processing method, the state in each trusted computing device can be monitored to judge whether an unknown program is running in each trusted computing device. Specifically, for all running programs currently running in the trusted computing device, the corresponding program names can be compared with a preset white name list; and deleting the running program process of which the program name is not matched with the preset white list. Thus, the data privacy and the reliability of the privacy calculation result are further ensured.
According to the parallel processing method disclosed by the embodiment of the application, the trusted computing equipment group provides a plurality of trusted sandboxes, and then respectively operates corresponding sub-models in each trusted sandbox according to the data of a plurality of data parties, so that part of sub-models can be operated in parallel, and the execution efficiency of trusted computing tasks is improved. The trusted sandboxes matched by each sub-model are also determined by the blockchain system voting, thereby ensuring that the trusted sandboxes are trusted. The output result of the corresponding sub-model can be limited by acquiring the preset limiting condition of the data side equipment, so that the privacy of the data is ensured. The trusted computing device can also be prevented from being tampered by verifying the hash value and the hash signature of the trusted sandbox and the first computer program in the process of executing the parallel processing method. The running state of each trusted computing device can be monitored in the process of executing the parallel processing method, so that unknown program running is prevented, and the data privacy and the reliability of the privacy computing result are further ensured.
The parallel processing method provided by the embodiment of the application is described below by taking a device side of a model side as an example.
Referring to fig. 6, a flow diagram of another parallel processing method according to an embodiment of the present application is shown. As shown in fig. 6, the parallel processing method may include the steps of:
and step 601, splitting the preset model according to the use sequence of the data parties to obtain a plurality of sub-models.
Wherein each data party data is provided by a corresponding data party device.
It should be noted that, the model side device may write the model code of the preset model according to the data format of the data side data, split the model code into the sub-model codes of multiple steps according to the order of using the data side data after writing is completed, so as to obtain multiple sub-models.
Step 602, sending each sub-model to a trusted computing device group, so that the trusted computing device group receives a plurality of data party data, and running corresponding sub-models in each trusted sandbox according to the plurality of data party data, wherein the trusted computing device group comprises a plurality of trusted computing devices, the trusted computing devices comprise trusted sandboxes, and at least two sub-models run in parallel.
The specific implementation and principles of the step 602 may refer to the detailed description of the foregoing embodiments, which is not repeated herein.
According to the parallel processing method disclosed by the embodiment of the application, the model side equipment obtains a plurality of sub-models by splitting the preset model, and then sends each sub-model to the trusted computing equipment group, so that the trusted computing equipment group respectively operates the corresponding sub-model in each trusted sandbox according to the data of the plurality of data sides, thereby realizing the parallel operation of part of the sub-models, and further improving the execution efficiency of the trusted computing task.
The parallel processing method provided by the embodiment of the application is described below by taking a data side device side as an example.
The parallel processing method may include: and auditing the data of the data party, generating audit confirmation information, and sending the data party data to the trusted computing equipment group according to all audit confirmation information when other data party equipment generates corresponding audit confirmation information, so that the trusted computing equipment group receives the data of each data party, and running corresponding sub-models in each trusted sandbox according to the data of each data party, wherein at least two sub-models run in parallel.
It should be noted that, before the data side device sends the corresponding data side data, it needs to perform audit confirmation on the data side data. The corresponding data of the data party is transmitted only after all data party devices have been acknowledged.
According to the parallel processing method disclosed by the embodiment of the application, after all the data side devices verify the data of the respective data side, the data side data is sent to the trusted computing device group, so that the trusted computing device group respectively runs the corresponding sub-models in each trusted sandbox according to the data of the plurality of data sides, thereby realizing the parallel running of part of the sub-models and further improving the execution efficiency of the trusted computing task.
Referring to fig. 7, a schematic diagram of data interaction of a parallel processing method according to an embodiment of the present application is shown. As shown in fig. 7, the parallel processing method may include the steps of:
and 701, the data party equipment carries out auditing on the data party data to generate auditing confirmation information.
In step 702, when the other data side devices generate corresponding audit confirmation information, the data side device sends the data side data to the trusted computing device group according to all audit confirmation information.
In step 703, the model side device splits the preset model according to the usage sequence of the data sides to obtain a plurality of sub-models.
The model-side device sends the respective sub-models to the trusted group of computing devices, step 704.
Step 705, running corresponding sub-models in each trusted sandbox according to the data of the plurality of data parties, wherein at least two sub-models run in parallel.
Through the process, the trusted computing device group provides a plurality of trusted sandboxes, and then respectively operates corresponding sub-models in each trusted sandbox according to the data of the plurality of data parties, so that part of the sub-models can operate in parallel, and the execution efficiency of the trusted computing task is improved.
Referring to fig. 8, a schematic structural diagram of a trusted computing device group provided by an embodiment of the present application is shown, and for convenience of explanation, only a portion relevant to the embodiment of the present application is shown.
The trusted group of computing devices 110 may include the following modules in particular:
the data receiving module 801 is configured to receive a plurality of data party data, where each data party data is provided by a corresponding data party device.
The model running module 802 is configured to run corresponding sub-models in each trusted sandbox according to a plurality of data-party data, where at least two sub-models run in parallel, and all the sub-models form a preset model, and the preset model is provided by the model-party device.
According to the trusted computing device group disclosed by the embodiment of the application, the trusted computing device group provides a plurality of trusted sandboxes, and then corresponding sub-models are respectively operated in each trusted sandbox according to a plurality of data party data, so that part of the sub-models can be operated in parallel, and the execution efficiency of trusted computing tasks is improved.
In one possible implementation manner of the embodiment of the present application, the model running module 802 may specifically include the following sub-modules:
and the data receiving sub-module is used for each trusted computing device to receive the corresponding data of the data party after the data party device is audited and determined to send the corresponding data of the data party.
And the voting acquisition submodule is used for acquiring voting results of the corresponding submodel from the blockchain system before each trusted computing device inputs data of the data party into the trusted sandbox for execution, wherein the blockchain system comprises a plurality of blockchain nodes.
And the execution sub-module is used for running the corresponding sub-model in the trusted sandbox by the trusted computing equipment if the voting results recorded by the block chain nodes with the preset proportion number are all passed.
In still another possible implementation manner of the embodiment of the present application, the trusted computing device group 110 may specifically further include the following modules:
The model splitting module is used for splitting the preset model according to the use sequence of the data parties to obtain a plurality of sub-models.
In still another possible implementation manner of the embodiment of the present application, the trusted computing device group 110 may specifically further include the following modules:
the first receiving module is used for receiving preset limiting conditions sent by each data side device.
The first judging module is used for judging whether the output result of the sub-model meets the corresponding preset limiting condition in each trusted sandbox for inputting data of the data party.
And the first execution module is used for outputting a final trusted computing result if the first execution module is not.
In another possible implementation manner of the embodiment of the present application, the trusted computing device runs a first computer program, where the first computer program is used to trigger the trusted sandbox to run a corresponding sub-model, and the trusted computing device group 110 may specifically further include the following modules:
the first acquisition module is used for acquiring the current hash value corresponding to each trusted sandbox and the first computer program.
The first generation module is used for signing each current hash value respectively and generating a corresponding current hash signature.
And the verification module is used for sending each current hash value and the current hash signature to the blockchain system so that the blockchain system verifies whether the current hash signatures are identical according to the original hash signatures and verifies whether the current hash values are identical according to the original hash values.
And the second execution module is used for determining to execute the corresponding sub-model in each trusted sandbox according to the data of the plurality of data parties if each trusted sandbox and the first computer program pass through the hash signature verification and the hash value verification.
In still another possible implementation manner of the embodiment of the present application, the trusted computing device group 110 may specifically further include the following modules:
and the comparison module is used for comparing the corresponding program names with a preset white name list aiming at all running programs currently running in the trusted computing equipment.
And the deleting module is used for deleting the running program process of which the program name is not matched with the preset white list.
The trusted computing device group disclosed by the embodiment of the application determines the trusted sandboxes matched with each sub-model through voting by the blockchain system, so that the trusted sandboxes are ensured to be trusted. The output result of the corresponding sub-model can be limited by acquiring the preset limiting condition of the data side equipment, so that the privacy of the data is ensured. The trusted computing device can also be prevented from being tampered by verifying the hash value and the hash signature of the trusted sandbox and the first computer program in the process of executing the parallel processing method. The running state of each trusted computing device can be monitored in the process of executing the parallel processing method, so that unknown program running is prevented, and the data privacy and the reliability of the privacy computing result are further ensured.
The trusted computing device group provided by the embodiment of the present application may be applied to the foregoing method embodiment on the trusted computing device group side, and details refer to the description of the foregoing method embodiment, which is not repeated herein.
Referring to fig. 9, a schematic structural diagram of a model apparatus provided in an embodiment of the present application is shown, and for convenience of explanation, only a portion related to the embodiment of the present application is shown.
The model-side device 103 may specifically include the following modules:
the model splitting module 901 is configured to split a preset model according to a use sequence of a plurality of data sides to obtain a plurality of sub-models, where each data side is provided by a corresponding data side device.
The model sending module 902 is configured to send each sub-model to a trusted computing device group, so that the trusted computing device group receives a plurality of data party data, and runs a corresponding sub-model in each trusted sandbox according to the plurality of data party data, where the trusted computing device group includes a plurality of trusted computing devices, the trusted computing device includes a trusted sandbox, and at least two sub-models run in parallel.
According to the model side equipment disclosed by the embodiment of the application, the model side equipment obtains a plurality of sub-models by splitting the preset model, and then sends each sub-model to the trusted computing equipment group, so that the trusted computing equipment group respectively operates the corresponding sub-model in each trusted sandbox according to the data of the plurality of data sides, thereby realizing the parallel operation of part of the sub-models, and further improving the execution efficiency of the trusted computing task.
The model side device provided by the embodiment of the present application may be applied to the foregoing method embodiment of the model side device, and details refer to the description of the foregoing method embodiment, which is not repeated herein.
Referring to fig. 10, a schematic structural diagram of a data side device provided in an embodiment of the present application is shown, and for convenience of explanation, only a portion related to the embodiment of the present application is shown.
The data-side device 102 may specifically include the following modules:
the data auditing module 1001 is configured to audit data of a data party, generate auditing confirmation information, and send the data party data to the trusted computing device group according to all auditing confirmation information when other data party devices generate corresponding auditing confirmation information, so that the trusted computing device group receives each data party data, and operate corresponding sub-models in each trusted sandbox according to each data party data, where at least two sub-models operate in parallel.
According to the data side equipment disclosed by the embodiment of the application, after all the data side equipment carries out verification and confirmation on the data of each data side, the data side data is sent to the trusted computing equipment group, so that the trusted computing equipment group respectively operates the corresponding sub-models in each trusted sandbox according to the data of a plurality of data sides, thereby realizing parallel operation of part of the sub-models and further improving the execution efficiency of the trusted computing task.
Fig. 11 is a schematic structural diagram of a terminal device according to an embodiment of the present application. As shown in fig. 11, the terminal apparatus 1100 of this embodiment includes: at least one second processor 1110 (only one is shown in fig. 11), a second memory 1120, and a second computer program 1121 stored in the second memory 1120 and executable on the at least one second processor 1110, the second processor 1110 implementing the steps in the above-described parallel processing method embodiments when executing the second computer program 1121.
The terminal device 1100 may be a computing device such as a desktop computer, a notebook computer, a palm computer, and a cloud server. The terminal device may include, but is not limited to, a second processor 1110, a second memory 1120. It will be appreciated by those skilled in the art that fig. 11 is merely an example of a terminal device 1100 and is not limiting of the terminal device 1100, and may include more or fewer components than shown, or may combine certain components, or different components, such as may also include input-output devices, network access devices, etc.
The second processor 1110 may be a central processing unit (Central Processing Unit, CPU), and the second processor 1110 may also be other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), off-the-shelf programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The second memory 1120 may be an internal storage unit of the terminal device 1100 in some embodiments, such as a hard disk or a memory of the terminal device 1100. The second memory 1120 may also be an external storage device of the terminal device 1100 in other embodiments, for example, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card) or the like, which are provided on the terminal device 1100. Further, the second memory 1120 may also include both an internal storage unit and an external storage device of the terminal device 1100. The second memory 1120 is used for storing an operating system, an application program, a Boot Loader (Boot Loader), data, other programs, etc., such as program codes of the computer program. The second memory 1120 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional units and modules is illustrated, and in practical application, the above-described functional distribution may be performed by different functional units and modules according to needs, i.e. the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-described functions. The functional units and modules in the embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit, where the integrated units may be implemented in a form of hardware or a form of a software functional unit. In addition, the specific names of the functional units and modules are only for distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working process of the units and modules in the above system may refer to the corresponding process in the foregoing method embodiment, which is not described herein again.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/terminal device and method may be implemented in other manners. For example, the apparatus/terminal device embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical function division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection via interfaces, devices or units, which may be in electrical, mechanical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated modules/units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the present application may implement all or part of the flow of the method of the above embodiment, or may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the computer program may implement the steps of each of the method embodiments described above. Wherein the computer program comprises computer program code which may be in source code form, object code form, executable file or some intermediate form etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), an electrical carrier signal, a telecommunications signal, a software distribution medium, and so forth. It should be noted that the computer readable medium contains content that can be appropriately scaled according to the requirements of jurisdictions in which such content is subject to legislation and patent practice, such as in certain jurisdictions in which such content is subject to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.
The present application may also be implemented by a computer program product for implementing all or part of the steps of the above embodiments of the method, when the computer program product is run on a terminal device, for enabling the terminal device to execute the steps of the above embodiments of the method.
The above embodiments are only for illustrating the technical solution of the present application, and are not limited thereto. Although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application, and are intended to be included in the scope of the present application.

Claims (10)

1. A parallel processing method, applied to a trusted computing device group, the trusted computing device group including a plurality of trusted computing devices, the trusted computing device including a trusted sandbox, the parallel processing method comprising:
receiving a plurality of data party data, wherein each data party data is provided by a corresponding data party device;
And operating corresponding sub-models in each trusted sandbox according to the data of the multiple data parties, wherein at least two sub-models are operated in parallel, and all the sub-models form a preset model which is provided by model party equipment.
2. The parallel processing method as recited in claim 1, wherein said running a corresponding sub-model in each of said trusted sandboxes based on said plurality of data-party data comprises:
after the data side equipment checks and determines to send out the corresponding data side data, each trusted computing equipment receives the corresponding data side data respectively;
each trusted computing device obtains voting results for a corresponding sub-model from a blockchain system prior to inputting the data-side data into a trusted sandbox for execution, wherein the blockchain system comprises a plurality of blockchain nodes;
if the voting results recorded by the block chain nodes with the preset proportion number are all passed, the trusted computing equipment runs the corresponding sub-model in the trusted sandbox.
3. The parallel processing method of claim 1, wherein the running of the corresponding sub-model in each trusted sandbox based on the plurality of data-party data further comprises:
And splitting a preset model according to the use sequence of the data parties to obtain a plurality of sub-models.
4. The parallel processing method according to claim 1, characterized in that the parallel processing method further comprises:
receiving preset limiting conditions sent by each data side device;
in each trusted sandbox for inputting the data of the data party, judging whether the output result of the sub-model meets the corresponding preset limiting condition or not;
if not, outputting a final trusted computing result.
5. The parallel processing method of claim 1, wherein the trusted computing device is running a first computer program for triggering the trusted sandboxes to run corresponding sub-models, the method further comprising, prior to running the corresponding sub-models in each of the trusted sandboxes based on the plurality of data-party data:
acquiring a current hash value corresponding to each trusted sandbox and the first computer program;
signing each current hash value respectively to generate a corresponding current hash signature;
transmitting each current hash value and the current hash signature to a blockchain system, so that the blockchain system verifies whether the current hash signatures are identical according to original hash signatures and verifies whether the current hash values are identical according to the original hash values;
And if each trusted sandbox and the first computer program pass through hash signature verification and hash value verification, determining to execute the corresponding sub-model in each trusted sandbox according to the data of the plurality of data parties.
6. A parallel processing method, characterized by being applied to a model-side device, comprising:
splitting a preset model according to the use sequence of a plurality of data party data to obtain a plurality of sub-models, wherein each data party data is provided by corresponding data party equipment;
and sending each sub-model to a trusted computing device group, so that the trusted computing device group receives the data party data, and running a corresponding sub-model in each trusted sandbox according to the data party data, wherein the trusted computing device group comprises a plurality of trusted computing devices, the trusted computing devices comprise the trusted sandboxes, and at least two sub-models run in parallel.
7. A parallel processing method, applied to a data side device, comprising:
and auditing the data of the data party, generating audit confirmation information, and sending the data party data to a trusted computing device group according to all the audit confirmation information when other data party devices generate corresponding audit confirmation information, so that the trusted computing device group receives each data party data, and operating corresponding sub-models in each trusted sandbox according to each data party data, wherein at least two sub-models are operated in parallel.
8. A trusted computing device group, the trusted computing device group comprising a plurality of trusted computing devices, the trusted computing device comprising a trusted sandbox, the trusted computing device group comprising:
the data receiving module is used for receiving a plurality of data party data, wherein each data party data is provided by corresponding data party equipment;
and the model operation module is used for operating corresponding sub-models in each trusted sandbox according to the data of the multiple data parties, wherein at least two sub-models are operated in parallel, all the sub-models form a preset model, and the preset model is provided by model party equipment.
9. Terminal device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor, when running the computer program, implements the method according to any one of claims 1 to 5, or implements the method according to claim 6, or implements the method according to claim 7.
10. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the method of any one of claims 1 to 5, or implements the method of claim 6, or implements the method of claim 7.
CN202310849848.0A 2023-07-11 2023-07-11 Parallel processing method and related equipment Pending CN117034280A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310849848.0A CN117034280A (en) 2023-07-11 2023-07-11 Parallel processing method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310849848.0A CN117034280A (en) 2023-07-11 2023-07-11 Parallel processing method and related equipment

Publications (1)

Publication Number Publication Date
CN117034280A true CN117034280A (en) 2023-11-10

Family

ID=88639564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310849848.0A Pending CN117034280A (en) 2023-07-11 2023-07-11 Parallel processing method and related equipment

Country Status (1)

Country Link
CN (1) CN117034280A (en)

Similar Documents

Publication Publication Date Title
CN112446785B (en) Cross-chain transaction method, system, device, equipment and storage medium
KR102687781B1 (en) System and method for authenticating off-chain data based on proof verification
WO2021012552A1 (en) Login processing method and related device
CN111506901B (en) Block chain-based data processing method, terminal and storage medium
CN107770159B (en) Vehicle accident data recording method and related device and readable storage medium
CN111460525B (en) Block chain-based data processing method, device and storage medium
CN111542820A (en) Method and apparatus for trusted computing
CN110569658A (en) User information processing method and device based on block chain network, electronic equipment and storage medium
CN108805571B (en) Data protection method, platform, block chain node, system and storage medium
US11757884B2 (en) Method and system for controlling the release of a resource
CN111295655B (en) Computer system and method for distributed privacy-preserving shared execution of one or more processes
CN111314172A (en) Data processing method, device and equipment based on block chain and storage medium
CN112165382A (en) Software authorization method and device, authorization server and terminal equipment
CN109145651B (en) Data processing method and device
CN114338666A (en) Method, device, equipment and medium for verifying Fabric block chain cross-chain transaction
CN113055380A (en) Message processing method and device, electronic equipment and medium
CN115460019B (en) Method, apparatus, device and medium for providing digital identity-based target application
CN117972717A (en) Trusted security multiparty computing method and device based on blockchain
CN107026729B (en) Method and device for transmitting software
CN116881936A (en) Trusted computing method and related equipment
CN117370952A (en) Multi-node identity verification method and device based on block chain
CN108833104A (en) A kind of signature method, verification method and the device of file
CN110598374B (en) Block chain-based work registration method, apparatus and computer-readable storage medium
CN116707758A (en) Authentication method, equipment and server of trusted computing equipment
CN115549984A (en) Cross-chain transaction method, device, equipment and storage medium

Legal Events

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