WO2020224251A1 - 区块链事务的处理方法、装置、设备及存储介质 - Google Patents

区块链事务的处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2020224251A1
WO2020224251A1 PCT/CN2019/122054 CN2019122054W WO2020224251A1 WO 2020224251 A1 WO2020224251 A1 WO 2020224251A1 CN 2019122054 W CN2019122054 W CN 2019122054W WO 2020224251 A1 WO2020224251 A1 WO 2020224251A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction block
transaction
processing
block
mutex
Prior art date
Application number
PCT/CN2019/122054
Other languages
English (en)
French (fr)
Inventor
褚镇飞
冯世伟
姚杰
Original Assignee
深圳壹账通智能科技有限公司
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 深圳壹账通智能科技有限公司 filed Critical 深圳壹账通智能科技有限公司
Publication of WO2020224251A1 publication Critical patent/WO2020224251A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • This application relates to the field of blockchain technology, and in particular to a method, device, equipment and computer-readable storage medium for processing blockchain transactions.
  • Blockchain is generally understood as a distributed ledger, and its essence is also a distributed database.
  • One of the fundamental differences between the alliance blockchain and the ordinary blockchain is the need to provide a privacy protection mechanism. Normally, this mechanism is implemented through signature encryption and signature verification in cryptography.
  • blockchain transactions are packaged into blocks and sent to blockchain nodes. The node unlocks the block and obtains the transactions in it, then verifies each transaction and executes the commit process of the corresponding transaction in order. Since the submission of existing blockchain transactions is executed in a sequential manner, when the system is busy and there are many transactions, the transaction submission speed often lags behind the transaction generation speed, which reduces the transaction processing efficiency.
  • the main purpose of this application is to provide a blockchain transaction processing method, device, equipment, and computer-readable storage medium, aiming to solve the technical problem of low transaction processing efficiency of existing blockchain transactions.
  • this application provides a method for processing blockchain transactions, and the method for processing blockchain transactions includes the following steps:
  • the second transaction block in the transaction block processing queue is verified and signed, multi-version checked, and persisted through the second pipeline thread, wherein the occurrence time of the preset event is not It is greater than the end time of the verification signature of the first transaction block to process the transaction block in parallel.
  • the present application also provides a block chain transaction processing device, the block chain transaction processing device includes:
  • the transaction block adding module is used to obtain the transaction blocks packaged in the blockchain ordering node when receiving the transaction processing instruction, and add each transaction block to the transaction block processing queue in turn;
  • the first processing module is configured to perform signature verification, multi-version checking, and persistence processing on the first transaction block in the transaction block processing queue through the first pipeline thread;
  • the second processing module is used to perform signature verification, multi-version checking, and persistence processing on the second transaction block in the transaction block processing queue through the second pipeline thread when a preset event is detected.
  • the occurrence time of the preset event is not greater than the end time of the verification signature of the first transaction block, so that the transaction block is processed in parallel.
  • this application also provides a blockchain transaction processing device.
  • the blockchain transaction processing device includes a processor, a memory, and stored on the memory and can be used by the processor.
  • the executed computer-readable instructions wherein when the computer-readable instructions are executed by the processor, the steps of the above-mentioned blockchain transaction processing method are realized.
  • the present application also provides a computer-readable storage medium having computer-readable instructions stored on the computer-readable storage medium, and when the computer-readable instructions are executed by a processor, the implementation is as described above The steps of the blockchain transaction processing method.
  • This application provides a method for processing blockchain transactions. This application allocates each transaction block in the blockchain to multiple pipeline threads to process transaction blocks in parallel through multiple pipeline threads, which not only increases the throughput of the blockchain It reduces transaction processing delay, improves resource utilization and transaction processing efficiency, and solves the technical problem of low transaction processing efficiency of existing blockchain transactions.
  • FIG. 1 is a schematic diagram of the hardware structure of a blockchain transaction processing device involved in the solution of the embodiment of the application;
  • FIG. 2 is a schematic flowchart of a first embodiment of a method for processing a blockchain transaction in this application
  • FIG. 3 is a schematic flowchart of a second embodiment of a method for processing blockchain transactions in this application.
  • FIG. 4 is a schematic flowchart of a third embodiment of a method for processing blockchain transactions in this application.
  • the blockchain transaction processing method involved in the embodiments of the present application is mainly applied to the processing equipment of the blockchain transaction.
  • the processing equipment of the blockchain transaction may be a device with display and processing functions such as a PC, a portable computer, and a mobile terminal.
  • FIG. 1 is a schematic diagram of the hardware structure of a blockchain transaction processing device involved in the solution of an embodiment of the application.
  • the device for processing blockchain transactions may include a processor 1001 (for example, a CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005.
  • the communication bus 1002 is used to realize the connection and communication between these components;
  • the user interface 1003 may include a display (Display), an input unit such as a keyboard (Keyboard);
  • the network interface 1004 may optionally include a standard wired interface, a wireless interface (Such as WI-FI interface);
  • the memory 1005 can be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory.
  • the memory 1005 may optionally be a storage device independent of the aforementioned processor 1001.
  • FIG. 1 does not constitute a limitation on the processing equipment of blockchain transactions, and may include more or less components than shown in the figure, or combine some components, or different The layout of the components.
  • the memory 1005 as a computer-readable storage medium in FIG. 1 may include an operating system, a network communication module, and computer-readable instructions.
  • the network communication module is mainly used to connect to the server and perform data communication with the server; and the processor 1001 can call the computer-readable instructions stored in the memory 1005 and execute the blockchain transaction processing provided by the embodiment of the application method.
  • the embodiment of the application provides a method for processing blockchain transactions.
  • FIG. 2 is a schematic flowchart of a first embodiment of a method for processing a blockchain transaction in this application.
  • the blockchain transaction processing method includes the following steps:
  • Step S10 when the transaction processing instruction is received, the transaction blocks packaged in the blockchain ordering node are obtained, and each transaction block is sequentially added to the transaction block processing queue;
  • a method for processing blockchain transactions is provided, which is based on pipeline technology (Pipeline), that is, transaction blocks are processed through multiple pipeline threads. Parallel processing, thereby improving resource utilization and improving the transaction processing efficiency of blockchain transactions.
  • Pipeline technology repeatedly performs the same operation on the data set for each thread, and passes the result of the operation to other threads in the next step, where the "data element" stream is executed serially.
  • the transaction block includes three transaction processing stages, namely, signature verification, multi-version checking, and persistence processing.
  • the processing time of verifying signatures is generally much higher than the processing time of multi-version checking and persistence.
  • the time occupied by verifying signatures is generally more than 50% of the processing time of the entire transaction block, and the transaction block
  • the multi-version check depends on the multi-version check result of the previous transaction block. Therefore, two transaction blocks can be processed in parallel based on at least two pipeline threads. Specifically, when transaction processing needs to be performed, the packaged transaction block to be processed is obtained in the blockchain ordering node, and the transaction block is added to the preset transaction block processing queue. Wherein, the transaction blocks in the transaction block processing queue are arranged in sequence according to the processing order.
  • Step S20 Perform signature verification, multi-version checking and persistence processing on the first transaction block in the transaction block processing queue through the first pipeline thread;
  • the verification signature operation of each transaction block can be performed at the same time. Therefore, the first transaction block to be processed in the transaction block processing queue is determined, and the first transaction block is verified and signed by the first pipeline thread.
  • step S20 may include:
  • the first transaction block is verified and signed by the first pipeline thread, and when the completion instruction of the verification signature of the first transaction block is detected, the first phase mutex of the first transaction block is locked Unlock
  • the second-stage mutex is added to the first transaction block through the first pipeline thread, and the first transaction block is passed through The pipeline thread performs multi-version checking and persistence processing on the first transaction block.
  • the first pipeline thread when the conditional expression, that is, whether the verification signature of the first transaction block is completed, is not satisfied, the first pipeline thread will still be blocked on the first transaction block and verify the first transaction block signature.
  • the specific process is as follows: when the first transaction block is verified and signed by the first pipeline thread, the first mutex lock needs to be set on the first transaction block to declare that the first pipeline thread is The first transaction block performs a signature verification operation, and the first transaction block is currently in a locked state and cannot be processed by other threads.
  • the first pipeline thread completes the verification signature of the first transaction block, unlock the first mutex, and generate a first unlock signal corresponding to the first mutex.
  • the first unlock signal When the first unlock signal is detected, continue to add a second mutex lock to the first transaction block through the first pipeline thread to declare that the first pipeline thread is performing multiple versions of the first transaction block Check operation, and the first transaction block is currently locked and cannot be processed by other threads.
  • the first pipeline thread completes the multi-version check of the first transaction block, unlock the second mutex, and generate a second unlock signal corresponding to the second mutex.
  • step S20 may also include:
  • Parse the first transaction block obtain each transaction in the first transaction block, and obtain the transaction request second flow rate, current load status information and preset processing value of each transaction;
  • the transaction block is parsed to obtain each transaction in the transaction block, the current transaction request traffic per second, the current load status information of the server's CPU and the preset processing values are obtained based on the current The transaction request traffic per second, the load status information and the preset processing value establish multiple threads. Based on the established multiple threads, the transaction is allocated to the CPU for dynamic parallel verification and signature, and then the verification and signature are completed Then, collect the transactions after the verification and signature in the multiple threads, and perform multi-version check and transaction persistence processing on the transactions after the verification and signature.
  • the blockchain ordering node packs each transaction with the processing sequence pre-identified into the form of transaction block, and then sends the transaction block to the blockchain data node.
  • the blockchain data node verifies and signs each transaction block.
  • Transactions are, for example, operations related to data in the database, including data modification operations, data deletion operations, etc., of course, it can also be other operations.
  • the processing sequence corresponding to each transaction identifier for example, can identify transactions in the order of numbers "1, 2, 3 --, or identify transactions in the order of letters "a, b, c --, etc.
  • each transaction is obtained.
  • the current load status information of the CPU includes the CPU working time ratio (of course, it can also be the CPU idle time ratio).
  • the preset processing values include preset processing values for testing The maximum number of CPUs for signing and signing, the preset time for signing and verifying, the preset maximum number of CPUs for signing, for example, 16, and the preset time for signing, for example, 10 seconds.
  • 5 threads can be established for signature verification Signature, based on the 5 threads, the transaction is allocated to 5 CPUs for parallel verification and signature. In the actual process of signature verification and signature performed by the CPU, other factors may affect the verification and signature time. In order to make the verification and signature time not greater than the preset verification and signature time, this embodiment can also dynamically adjust the number of threads, for example, In the case that the signature verification time is greater than the preset signature verification time due to other factors, if the current transaction request second flow is large, the current CPU working time ratio is small, and the number of current threads does not exceed the preset time. When setting the maximum value of the CPU used for signature verification, the number of threads can be increased.
  • a thread allocates transactions to a CPU for signature verification. Therefore, as the number of threads increases, it is also equivalent to adjusting the number of CPUs currently used for signature verification. Since each transaction identifier has a processing sequence, after completing the verification and signature, collect the transactions after verification and signature in the multiple threads, and sort them according to the processing order of the transaction identifier, and sort based on the standard processing method of the database The latter transaction is checked for multiple versions, and then the checked transaction is processed for transaction persistence.
  • Step S30 when the occurrence of a preset event is detected, the second transaction block in the transaction block processing queue is subjected to signature verification, multi-version checking and persistence processing through the second pipeline thread, wherein the preset event The occurrence time is not greater than the end time of the verification signature of the first transaction block, so that the transaction block is processed in parallel.
  • the second pipeline thread starts processing the second transaction block in the transaction block processing queue.
  • the verification signature of the second transaction block is completed through the second pipeline thread
  • the time required to verify the signature far exceeds the time required for the other two stages
  • the first pipeline thread has completed the multi-version check and persistence of the first transaction block. ⁇ .
  • the multi-version check of the second transaction block needs to use the result of the multi-version check of the first transaction block
  • the multi-version check of the second transaction block needs to start after the multi-version check of the second transaction block.
  • the multi-version check of the first transaction block needs to be completed before the multi-version check of the second transaction block starts.
  • the second transaction block can be verified and signed by the second pipeline thread.
  • the occurrence time of the preset event is not greater than the end time of the verification signature of the first transaction block, that is, the ideal state is: the completion time of the verification signature of the second transaction block and the time point of the first transaction block
  • the multi-version check is completed at the same time.
  • the preset time occurrence may be the detection of the first unlock signal of the verification signature of the first transaction block, and when the first unlock information is detected, The second pipeline thread verifies the signature of the second transaction block in the transaction block processing queue, so that the parallel processing of the transaction block can be realized, the processing time of the transaction block is reduced, and the processing efficiency of the transaction block is improved.
  • This embodiment provides a method for processing blockchain transactions, that is, when a transaction processing instruction is received, the transaction blocks packaged in the blockchain ordering node are obtained, and each transaction block is sequentially added to the transaction block processing queue;
  • the first-rate pipeline thread performs signature verification, multi-version checking, and persistence processing on the first transaction block in the transaction block processing queue; when a preset event is detected, the second pipeline thread processes the transaction block in the queue Perform signature verification, multi-version checking, and persistence processing on the second transaction block of the transaction block, wherein the occurrence time of the preset event is not greater than the end time of the signature verification of the first transaction block, so that the transaction block is processed in parallel.
  • the present invention allocates each transaction block in the blockchain to multiple pipeline threads to process the transaction blocks in parallel through multiple pipeline threads, which not only increases the throughput of the blockchain, but also reduces the transaction processing delay. It also improves resource utilization and transaction processing efficiency, and solves the technical problem of low transaction processing efficiency of existing blockchain transactions.
  • FIG. 3 is a schematic flowchart of a second embodiment of a method for processing blockchain transactions in this application.
  • the step S30 specifically includes:
  • Step S31 When the unlock signal of the first stage mutex of the first transaction block is detected, the second pipeline thread adds the first stage mutex to the second transaction block in the transaction processing queue to Adding a verification signature identifier to the second transaction block;
  • the verification signature of the second transaction block is started by the second pipeline thread. That is, when the unlock signal of the first phase mutex lock of the first transaction block is detected, the verification signature of the second transaction block is started.
  • the multi-version check of the second transaction block needs to be started after the multi-version check of the first transaction block. Since the verification signature time is much longer than the multi-version check and persistence time, the second transaction block starts to verify the signature when the first transaction block starts the multi-version check, and when the verification signature of the second transaction block ends, the first transaction block The multi-version check and persistence of one transaction block have also been completed, and the second transaction block can continue the multi-version check and persistence processing. Therefore, it is possible to start the second pipeline thread to add the first-stage mutex to the second transaction block in the transaction processing queue by detecting whether the first-stage mutex of the first transaction block generates an unlock signal. Add a verification signature identifier to the second transaction block.
  • Step S32 verify the signature of the second transaction block through the second pipeline thread, and when the completion of the verification signature of the second transaction block is detected, mutually exclusive the first stage of the second transaction block Lock to unlock;
  • the first-stage processing that is, signature verification
  • the first phase mutex lock of the second transaction block is unlocked.
  • Step S33 When the unlock signal of the first-stage mutex of the second transaction block is detected, the second-stage mutex is added to the second transaction block through the second pipeline thread, so as to The second transaction block performs multi-version checking and persistent identification;
  • the second pipeline thread when the unlock signal of the first stage of the second transaction block is detected, the second pipeline thread continues to add the second stage mutex to the second transaction block to declare the second transaction block.
  • the pipeline thread is performing a multi-version check operation on the second transaction block, and the second transaction block is currently locked and cannot be processed by other threads.
  • Step S34 Perform multi-version check and persistence identification on the second transaction block through the second pipeline thread, and when the multi-version check and persistence completion instruction of the second transaction block are detected, all The second phase mutex lock of the second transaction block is unlocked.
  • the second pipeline thread can perform multi-version checking and persistent identification on the second transaction block.
  • the second pipeline thread completes the multi-version check and persistence processing of the second transaction block, unlock the second-stage mutex, and generate an unlock signal corresponding to the second-stage mutex.
  • FIG. 4 is a schematic flowchart of a third embodiment of a method for processing blockchain transactions in this application.
  • the step S30 specifically includes:
  • Step S35 when the lock signal of the first phase mutex lock of the first transaction block is detected, verify the signature of the second transaction block in the transaction block processing queue through the second pipeline thread;
  • the second-stage mutex is added to the first transaction block through the first pipeline thread
  • the specific steps of performing multi-version check and persistent identification on the first transaction block are: when the unlock signal of the first-stage mutex lock of the first transaction block is detected, pass the first pipeline thread Add a second-stage mutex lock to the first transaction block to add a multi-version check identifier to the first transaction block; perform multi-version check on the first transaction block through the first pipeline thread, and When the completion instruction of the multi-version check of the first transaction block is detected, unlock the second phase mutex of the first transaction block; when the second phase mutex of the first transaction block is detected When the lock is unlocked, the third-stage mutex lock is added to the first transaction block through the first pipeline thread to add a persistent identifier to the first transaction block; and the first pipeline thread pairs The first transaction block performs persistence processing, and when a completion instruction of the persistence processing of the first transaction block
  • the verification signature of the transaction block is much longer than the time of multi-version checking and persistence processing, and the verification signature of the transaction block is not related.
  • the verification corresponding to each transaction block is processed in parallel Sign, and then collect the verification signature results of each transaction block, and perform the multi-version check and persistence processing of each transaction in turn according to the verification signature results and the transaction processing sequence. That is, when the lock signal of the first phase mutex of the first transaction block is detected, the verification signature of the second transaction block is started.
  • Step S36 When the unlock signal of the second-stage mutex lock of the first transaction block is detected, perform multi-version checking and persistence processing on the second transaction block through the second pipeline thread.
  • the steps of performing signature verification, multi-version checking, and persistence processing on the second transaction block in the transaction block processing queue through the second pipeline thread may also be:
  • the processing time of the verification signature of the first transaction block is taken as the first processing time. Then, the processing time for verifying the signature of the second transaction block is estimated as the second processing time.
  • the first processing time for controlling the first pipeline thread to process the first transaction block is the same as the second processing time for the second pipeline thread to process the second transaction block, that is, the first transaction block is processed by the first pipeline thread
  • the second pipeline thread has just processed the verification signatures of the second transaction block, so that the second transaction can be performed when the multi-version check of the first transaction block has just ended Multi-version checking of blocks.
  • the verification signature of the first transaction block and the first processing time required for multi-version checking are determined, the second processing time required for the verification signature of the second transaction block is determined, and the first transaction block is calculated.
  • the embodiment of the present application also provides a blockchain transaction processing device.
  • the device for processing blockchain transactions includes:
  • the transaction block adding module is used to obtain the transaction blocks packaged in the blockchain ordering node when receiving the transaction processing instruction, and add each transaction block to the transaction block processing queue in turn;
  • the first processing module is configured to perform signature verification, multi-version checking, and persistence processing on the first transaction block in the transaction block processing queue through the first pipeline thread;
  • the second processing module is used to perform signature verification, multi-version checking, and persistence processing on the second transaction block in the transaction block processing queue through the second pipeline thread when a preset event is detected.
  • the occurrence time of the preset event is not greater than the end time of the verification signature of the first transaction block, so that the transaction block is processed in parallel.
  • the first processing module is also used for:
  • the first transaction block is verified and signed by the first pipeline thread, and when the completion instruction of the verification signature of the first transaction block is detected, the first phase mutex of the first transaction block is locked Unlock
  • the second-stage mutex is added to the first transaction block through the first pipeline thread, and the first transaction block is passed through The pipeline thread performs multi-version checking and persistence processing on the first transaction block.
  • the first processing module is also used for:
  • Parse the first transaction block obtain each transaction in the first transaction block, and obtain the transaction request second flow rate, current load status information and preset processing value of each transaction;
  • the second processing module specifically includes:
  • the first-stage locking unit is used to add a first transaction block to the second transaction block in the transaction processing queue through the second pipeline thread when the unlock signal of the first-stage mutex lock of the first transaction block is detected.
  • Phase mutex lock to add a verification signature identifier to the second transaction block;
  • the first-stage unlocking unit is used to verify the signature of the second transaction block through the second pipeline thread, and when the completion of the second transaction block verification signature is detected, the second transaction block The first phase of the mutex is unlocked;
  • the second-stage locking unit is configured to add a second-stage mutual exclusion lock to the second transaction block through the second pipeline thread when the unlock signal of the first-stage mutex of the second transaction block is detected.
  • Exclusion lock to perform multi-version checking and persistent identification of the second transaction block;
  • the second-stage processing unit is configured to perform multi-version check and persistence identification on the second transaction block through the second pipeline thread, and to detect the completion of the multi-version check and persistence of the second transaction block When instructing, unlock the second phase mutex lock of the second transaction block.
  • the second processing module specifically further includes:
  • the first parallel processing unit is configured to process the second transaction block in the transaction block queue through the second pipeline thread when the lock signal of the first phase mutex lock of the first transaction block is detected Perform verification signature;
  • the second parallel processing unit is configured to perform multi-version checking and persistence on the second transaction block through the second pipeline thread when the unlock signal of the second phase mutex lock of the first transaction block is detected deal with.
  • the second processing module is also used for:
  • the second transaction block in the transaction block processing queue is subjected to verification signature, multi-version check, and persistence processing through a second pipeline thread.
  • each module in the above-mentioned block chain transaction processing device corresponds to each step in the above-mentioned block chain transaction processing method embodiment, and its functions and implementation processes are not repeated here.
  • the embodiments of the present application also provide a computer-readable storage medium, and the computer-readable storage medium may be a non-volatile readable storage medium.
  • the computer-readable storage medium of the present application stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the steps of the above-mentioned blockchain transaction processing method are realized.
  • the method implemented when the computer readable instruction is executed can refer to the various embodiments of the blockchain transaction processing method of the present application, which will not be repeated here.

Abstract

一种区块链事务的处理方法、装置、设备及存储介质,该方法包括:在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列(S10);通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理(S20);在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理(S30)。增加了区块链的吞吐量,减小了事务处理延迟,而且提高了资源利用率以及事务处理效率,解决了现有区块链事务处理效率低下的技术问题。

Description

区块链事务的处理方法、装置、设备及存储介质
本申请要求于2019年5月7日提交中国专利局、申请号为201910375885.6、发明名称为“区块链事务的处理方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链事务的处理方法、装置、设备及计算机可读存储介质。
背景技术
区块链一般被理解为一个分布式账本,它的本质也是一个分布式的数据库。联盟区块链与普通区块链的根本区别之一是需要提供隐私保护机制,通常情况下,该机制是通过密码学中的签名加密和验签签名来实现的。目前,区块链事务被打包成块的形式发送给区块链节点,由节点解开块并获取其中的事务,然后对每个事务进行验签并按序执行对应事务的提交过程。由于现有区块链事务的提交是采用顺序化的方式执行,因此,在系统较繁忙且产生事务较多时,事务提交的速度往往滞后于事务产生的速度,降低了事务处理效率。
因此,如何解决现有区块链事务的事务处理效率低下的问题,是目前亟需解决的问题。
发明内容
本申请的主要目的在于提供一种区块链事务的处理方法、装置、设备及计算机可读存储介质,旨在解决现有区块链事务的事务处理效率低下的技术问题。
为实现上述目的,本申请提供一种区块链事务的处理方法,所述区块链事务的处理方法包括以下步骤:
在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;
通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;
在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。
此外,为实现上述目的,本申请还提供一种区块链事务的处理装置,所述区块链事务的处理装置包括:
事务块添加模块,用于在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;
第一处理模块,用于通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;
第二处理模块,用于在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。
此外,为实现上述目的,本申请还提供一种区块链事务的处理设备,所述区块链事务的处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机可读指令,其中所述计算机可读指令被所述处理器执行时,实现如上述的区块链事务的处理方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,其中所述计算机可读指令被处理器执行时,实现如上述的区块链事务的处理方法的步骤。
本申请提供一种区块链事务的处理方法,本申请通过将区块链中的各个事务块分配至多个流水线线程,以通过多个流水线线程并列处理事务块,不仅增加了区块链的吞吐量,减小了事务处理延迟,而且提高了资源利用率以及事务处理效率,解决了现有区块链事务的事务处理效率低下的技术问题。
附图说明
图1为本申请实施例方案中涉及的区块链事务的处理设备的硬件结构示意图;
图2为本申请区块链事务的处理方法第一实施例的流程示意图;
图3为本申请区块链事务的处理方法第二实施例的流程示意图;
图4为本申请区块链事务的处理方法第三实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例涉及的区块链事务的处理方法主要应用于区块链事务的处理设备,该区块链事务的处理设备可以是PC、便携计算机、移动终端等具有显示和处理功能的设备。
参照图1,图1为本申请实施例方案中涉及的区块链事务的处理设备的硬件结构示意图。本申请实施例中,区块链事务的处理设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对区块链事务的处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及计算机可读指令。
在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的计算机可读指令,并执行本申请实施例提供的区块链事务的处理方法。
本申请实施例提供了一种区块链事务的处理方法。
参照图2,图2为本申请区块链事务的处理方法第一实施例的流程示意图。
本实施例中,所述区块链事务的处理方法包括以下步骤:
步骤S10,在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;
本实施例中,为了解决现有区块链事务的事务处理效率低下的技术问题,提供一种区块链事务的处理方法,基于流水线技术(Pipeline),即通过多个流水线线程对事务块进行并列处理,从而提高资源利用率,提高区块链事务的事务处理效率。流水线技术为每个线程反复的在数据集上执行同一种操作,并把操作结果传递给下一步骤其他线程,其中,“数据元素”流被串行的执行。其中,事务块包括三个事务处理阶段,即验证签名、多版本检查以及持久化处理。其中,在不考虑磁盘性能的情况下,验证签名的处理时间一般远远高于多版本检查以及持久化的处理时间,验证签名的占用时间一般超过整个事务块处理时间的50%,且事务块的多版本检查需要依赖于前一个事务块的多版本检查结果。因此,可基于至少两个流水线线程并列处理两个事务块。具体地,在需要进行事务处理时,在区块链排序节点中获取需要处理的打包事务块,并将所述事务块添加至预设的事务块处理队列中。其中,所述事务块处理队列中事务块按照处理顺序依次排列。
步骤S20,通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;
本实施例中,由于后一个事务块的多版本检查过程依赖于前一个事务块的多版本检查结果,但是事务块的验证签名结果互不关联,因此可以同时进行各个事务块的验证签名操作,因此,确定所述事务块处理队列中第一个待处理的第一事务块,并通过第一流水线线程对所述第一事务块进行验证签名处理。
进一步地,所述步骤S20可以包括:
通过所述第一流水线线程对所述事务处理队列中的第一事务块添加第一阶段互斥锁,以对所述第一事务块添加验证签名标识;
通过所述第一流水线线程对所述第一事务块进行验证签名,并在检测到所述第一事务块的验证签名的完成指令时,将所述第一事务块的第一阶段互斥锁进行解锁;
在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,并通过所述第一流水线线程对所述第一事务块进行多版本检查以及持久化处理。
本实施例中,当条件表达式,即第一事务块的验证签名是否被完成,未被满足时,第一流水线线程将仍然阻塞在第一事务块上并对所述第一事务块进行验证签名。具体处理过程为:在通过第一流水线线程对所述第一个事务块进行验证签名时,首先需要对所述第一事务块设置第一互斥锁,以声明第一流水线线程正在对所述第一事务块进行验证签名操作,且所述第一事务块当前为锁定状态,不能被其他线程进行处理。在所述第一流水线线程完成所述第一事务块的验证签名时,将所述第一互斥锁进行解锁,并生成第一互斥锁对应的第一解锁信号。在检测到所述第一解锁信号时,继续通过所述第一流水线线程对所述第一事务块添加第二互斥锁,以声明第一流水线线程正在对所述第一事务块进行多版本检查操作,且所述第一事务块当前为锁定状态,不能被其他线程进行处理。在所述第一流水线线程完成所述第一事务块的多版本检查时,将所述第二互斥锁进行解锁,并生成第二互斥锁对应的第二解锁信号。在检测到所述第二解锁信号时,继续通过所述第一流水线线程对所述第一事务块添加第三互斥锁,以声明第一流水线线程正在对所述第一事务块进行持久化处理操作,且所述第一事务块当前为锁定状态,不能被其他线程进行处理,由此通过互斥锁实现一个事务块的分阶处理。
进一步地,所述步骤S20还可以包括:
对所述第一事务块进行解析,获取所述第一事务块中的各个事务,并获取各个事务的事务请求秒流量、当前负载状况信息及预设的处理值;
基于所述事务请求秒流量、当前负载状况信息及预设的处理值,建立多个线程,并通过所述多个线程对所述各个事务进行并行验签签名;
在完成所述各个事务的并行验签签名时,收集所述多个线程中的各个验签签名结果,并根据所述各个验签签名结果以及事务处理顺序,依次对各个事务依次执行多版本检查和事务持久化处理。
本实施例中,对所述事务块进行解析,以获取该事务块中的各个事务,获取当前的事务请求秒流量、所述服务器的CPU当前的负载状况信息及预设的处理值,基于当前的事务请求秒流量、所述负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将所述事务分配给所述CPU进行动态并行验签签名,然后在完成验签签名后,收集该多个线程中的进行验签签名后的事务,对验签签名后的事务执行多版本检查和事务持久化处理。其中,在区块链网络中,区块链排序节点将预先标识有处理顺序的各个事务打包成事务块的形式,然后将事务块发送给区块链数据节点。由区块链数据节点逐个事务块进行验签签名。事务例如为数据库中的数据相关的操作,包括数据的修改操作、数据的删除操作等,当然也可以是其他的操作。将各个事务标识对应的处理顺序,例如可以按照数字“1、2、3…”的顺序对事务进行标识,或者按照字母“a、b、c…”的顺序对事务进行标识,等等,对事务块解析后得到各个事务。其中,CPU当前的负载状况信息包括CPU工作时间比例(当然也可以是CPU空闲时间比例),CPU工作时间比例越大则CPU的使用率越高;预设的处理值包括预设的用于验签签名的CPU的最大数值、预设的验签签名时间,预设的用于验签签名的CPU的最大数值例如为16个,预设的验签签名时间例如为10秒。同时考虑当前的事务请求秒流量、负载状况信息及预设的处理值来建立线程:在当前的事务请求秒流量较大、当前的CPU工作时间比例较小时,为了使得验签签名时间达到预设的验签签名时间,可以建立数量相对多的线程;在当前的事务请求秒流量较小、当前的CPU工作时间比例较小时,可以建立数量相对少的线程,等等,实现事务的并行验签签名,提高验签签名的速度。当前的事务请求秒流量为10000/h(每小时10000条数据),当前的CPU工作时间比例为20%,预设的验签签名时间为10秒,经分析可以建立5个线程用于验签签名,基于该5个线程将事务分配给5个CPU进行并行验签签名。在CPU进行验签签名的实际过程中可能出现其他因素影响验签签名的时间,为了使得验签签名时间不大于预设的验签签名时间,本实施例还可以动态调整线程的数量,例如,在受其他因素的影响使得验签签名时间大于预设的验签签名时间的情况下,若当前的事务请求秒流量较大、当前的CPU工作时间比例较小,以及当前线程的数量不超过预设的用于验签签名的CPU的最大数值时,可以增加线程的数量。理想状态下,一个线程分配事务给一个CPU进行验签签名,因此线程数量的增加的同时,也相当于调整当前用于验签签名CPU的数量。由于每个事务标识有处理顺序,在完成验签签名后,收集该多个线程中的进行验签签名后的事务,按照事务标识的处理顺序对其进行排序,基于数据库的标准处理方法对排序后的事务进行多版本检查,然后将检查后的事务进行事务持久化处理。
步骤S30,在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。
本实施例中,由于事务块的验证签名所需时间远超过另外两个阶段所需时间,因此,在所述第一流水线线程处理完第一事务块的验证签名时,可通过第二流水线线程开始对事务块处理队列中的第二事务块进行处理。在通过第二流水线线程完成对第二事务块的验证签名时,由于验证签名所需时间远超过另外两个阶段所需时间,第一流水线线程已经完成了第一事务块的多版本检查以及持久化处理。具体地,由于第二事务块的多版本检查需要使用第一事务块的多版本检查的结果,因此,第二事务块的多版本检查需要在第二事务块的多版本检查之后开始。也就是说,需要在第二事务块的多版本检查开始之前,完成所述第一事务块的多版本检查。在检测到预设时间发生时,即可通过第二流水线线程对所述第二事务块进行验证签名。其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,即理想状态为:所述第二事务块的验证签名完成时间点与所述第一事务块的多版本检查完成时间点相同。考虑到CPU调度的不稳定性,也便于机器执行,所述预设时间发生可以是检测到第一事务块的验证签名的第一解锁信号,在检测到所述第一解锁信息时,即可通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名,从而即可实现事务块的并行处理,减少事务块的处理时间,提高事务块的处理效率。
本实施例提供一种区块链事务的处理方法,即在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。通过上述方式,本发明通过将区块链中的各个事务块分配至多个流水线线程,以通过多个流水线线程并列处理事务块,不仅增加了区块链的吞吐量,减小了事务处理延迟,而且提高了资源利用率以及事务处理效率,解决了现有区块链事务的事务处理效率低下的技术问题。
参照图3,图3为本申请区块链事务的处理方法第二实施例的流程示意图。
基于上述图2所示实施例,本实施例中,所述步骤S30具体包括:
步骤S31,在检测到第一事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述事务处理队列中的第二事务块添加第一阶段互斥锁,以对所述第二事务块添加验证签名标识;
本实施例中,为了提高CPU利用率,便于CPU的调度,在通过第一流水线线程完成第一事务块的验证签名时,开始通过第二流水线线程进行第二事务块的验证签名。即在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,开始所述第二事务块的验证签名。
由于后一个事务块的多版本检查过程依赖于前一个事务块的多版本检查结果,因此需要在第一事务块的多版本检查之后,才能开始第二事务块的多版本检查。由于验证签名的时间远大于多版本检查以及持久化的时间,因此,在第一事务块开始多版本检查时,第二事务块才开始验证签名,在第二事务块的验证签名结束时,第一事务块的多版本检查以及持久化也已完成,第二事务块即可继续进行多版本检查以及持久化处理。因此,可以通过检测所述第一事务块的第一阶段互斥锁是否产生解锁信号,来开始第二流水线线程对所述事务处理队列中的第二事务块添加第一阶段互斥锁,以对所述第二事务块添加验证签名标识。
步骤S32,通过所述第二流水线线程对所述第二事务块进行验证签名,并在检测到所述第二事务块验证签名的完成时,将所述第二事务块的第一阶段互斥锁进行解锁;
本实施例中,在将所述第二事务块添加第一阶段互斥锁时,即可对所述第二事务块进行第一阶段处理即验证签名。在对所述第二事务块进行验证签名结束后,将所述第二事务块的第一阶段互斥锁进行解锁。
步骤S33,在检测到所述第二事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程的对所述第二事务块添加第二阶段互斥锁,以对所述第二事务块进行多版本检查以及持久化标识;
本实施例中,在检测到所述第二事务块的第一阶段的解锁信号时,继续通过所述第二流水线线程对所述第二事务块添加第二阶段互斥锁,以声明第二流水线线程正在对所述第二事务块进行多版本检查操作,且所述第二事务块当前为锁定状态,不能被其他线程进行处理。
步骤S34,通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化标识,并在检测到所述第二事务块的多版本检查以及持久化的完成指令时,将所述第二事务块的第二阶段互斥锁进行解锁。
本实施例中,在对所述第二事务块添加第二阶段互斥锁后,即可通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化标识。在所述第二流水线线程完成所述第二事务块的多版本检查以及持久化处理时,将所述第二阶段互斥锁进行解锁,并生成第二阶段互斥锁对应的解锁信号。
参照图4,图4为本申请区块链事务的处理方法第三实施例的流程示意图。
基于上述图3所示实施例,本实施例中,所述步骤S30具体包括:
步骤S35,在检测到所述第一事务块的第一阶段互斥锁的加锁信号时,通过所述第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名;
本实施例中,所述在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,以对所述第一事务块进行多版本检查以及持久化标识的具体步骤为:在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,以对所述第一事务块添加多版本检查标识;通过所述第一流水线线程对所述第一事务块进行多版本检查,并在检测到所述第一事务块的多版本检查的完成指令时,将所述第一事务块的第二阶段互斥锁进行解锁;在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第三阶段互斥锁,以对所述第一事务块添加持久化标识;通过所述第一流水线线程对所述第一事务块进行持久化处理,并在检测到所述第一事务块的持久化处理的完成指令时,将所述第一事务块的第三阶段互斥锁进行解锁。
为了进一步提高事务块的处理效率,利用事务块的验证签名远大于多版本检查和持久化处理的时间的特性以及事务块的验证签名之间无关联的特性,首先并行处理各事务块对应的验证签名,然后收集各事务块验证签名结果,并依据所述各个验证签名结果以及事务处理顺序,依次进行各个事务的多版本检查以及持久化处理。即在检测到所述第一事务块的第一阶段互斥锁的加锁信号时,即开始所述第二事务跨的验证签名。
步骤S36,在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化处理。
本实施例中,在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,即开始所述第二事务块的多版本检查以及持久化处理。
进一步地,所述在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理的步骤还可以为:
本实施例中,为了最大化CPU的利用率以及最大化事务块的处理效率,还可以根据历史处理速率或者是根据CPU处理效率,首先预估第一事务块的验证签名的处理时间再加上第一事务块的多版本检查的处理时间,作为第一处理时间。然后预估第二事务块的验证签名的处理时间,作为第二处理时间。控制所述第一流水线线程处理第一事务块的第一处理时间与第二流水线线程处理第二事务块的第二处理时间相同,即在所述第一流水线线程处理完所述第一事务块的验证签名以及多版本检查时,所述第二流水线线程刚好处理完所述第二事务块的验证签名,由此,在第一事务块的多版本检查刚结束时,即可进行第二事务块的多版本检查。具体地,确定所述第一事务块的验证签名以及多版本检查所需的第一处理时间,确定所述第二事务块的验证签名所需的第二处理时间,并计算出所述第一处理时间以及第二处理时间的时间差值;在检测到所述第一事务块的处理时间达到所述时间差值时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理。
此外,本申请实施例还提供一种区块链事务的处理装置。
本实施例中,所述区块链事务的处理装置包括:
事务块添加模块,用于在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;
第一处理模块,用于通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;
第二处理模块,用于在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。
进一步地,所述第一处理模块还用于:
通过所述第一流水线线程对所述事务处理队列中的第一事务块添加第一阶段互斥锁,以对所述第一事务块添加验证签名标识;
通过所述第一流水线线程对所述第一事务块进行验证签名,并在检测到所述第一事务块的验证签名的完成指令时,将所述第一事务块的第一阶段互斥锁进行解锁;
在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,并通过所述第一流水线线程对所述第一事务块进行多版本检查以及持久化处理。
进一步地,所述第一处理模块还用于:
对所述第一事务块进行解析,获取所述第一事务块中的各个事务,并获取各个事务的事务请求秒流量、当前负载状况信息及预设的处理值;
基于所述事务请求秒流量、当前负载状况信息及预设的处理值,建立多个线程,并通过所述多个线程对所述各个事务进行并行验签签名;
在完成所述各个事务的并行验签签名时,收集所述多个线程中的各个验签签名结果,并根据所述各个验签签名结果以及事务处理顺序,依次对各个事务依次执行多版本检查和事务持久化处理。
进一步地,所述第二处理模块具体包括:
第一阶段加锁单元,用于在检测到第一事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述事务处理队列中的第二事务块添加第一阶段互斥锁,以对所述第二事务块添加验证签名标识;
第一阶段解锁单元,用于通过所述第二流水线线程对所述第二事务块进行验证签名,并在检测到所述第二事务块验证签名的完成时,将所述第二事务块的第一阶段互斥锁进行解锁;
第二阶段加锁单元,用于在检测到所述第二事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程的对所述第二事务块添加第二阶段互斥锁,以对所述第二事务块进行多版本检查以及持久化标识;
第二阶段处理单元,用于通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化标识,并在检测到所述第二事务块的多版本检查以及持久化的完成指令时,将所述第二事务块的第二阶段互斥锁进行解锁。
进一步地,所述第二处理模块具体还包括:
第一并行处理单元,用于在检测到所述第一事务块的第一阶段互斥锁的加锁信号时,通过所述第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名;
第二并行处理单元,用于在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化处理。
进一步地,所述第二处理模块还用于:
确定所述第一事务块的验证签名以及多版本检查所需的第一处理时间,确定所述第二事务块的验证签名所需的第二处理时间,并计算出所述第一处理时间以及第二处理时间的时间差值;
在检测到所述第一事务块的处理时间达到所述时间差值时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理。
其中,上述区块链事务的处理装置中各个模块与上述区块链事务的处理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质可以为非易失性可读存储介质。
本申请计算机可读存储介质上存储有计算机可读指令,其中所述计算机可读指令被处理器执行时,实现如上述的区块链事务的处理方法的步骤。
其中,计算机可读指令被执行时所实现的方法可参照本申请区块链事务的处理方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种区块链事务的处理方法,其中,所述区块链事务的处理方法包括以下步骤:
    在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;
    通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;
    在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。
  2. 如权利要求1所述的区块链事务的处理方法,其中,所述通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理的步骤具体包括:
    通过所述第一流水线线程对所述事务处理队列中的第一事务块添加第一阶段互斥锁,以对所述第一事务块添加验证签名标识;
    通过所述第一流水线线程对所述第一事务块进行验证签名,并在检测到所述第一事务块的验证签名的完成指令时,将所述第一事务块的第一阶段互斥锁进行解锁;
    在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,并通过所述第一流水线线程对所述第一事务块进行多版本检查以及持久化处理。
  3. 如权利要求2所述的区块链事务的处理方法,其中,所述在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理的步骤具体包括:
    在检测到第一事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述事务处理队列中的第二事务块添加第一阶段互斥锁,以对所述第二事务块添加验证签名标识;
    通过所述第二流水线线程对所述第二事务块进行验证签名,并在检测到所述第二事务块验证签名的完成时,将所述第二事务块的第一阶段互斥锁进行解锁;
    在检测到所述第二事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程的对所述第二事务块添加第二阶段互斥锁,以对所述第二事务块进行多版本检查以及持久化标识;
    通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化标识,并在检测到所述第二事务块的多版本检查以及持久化的完成指令时,将所述第二事务块的第二阶段互斥锁进行解锁。
  4. 如权利要求2所述的区块链事务的处理方法,其中,所述在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,以对所述第一事务块进行多版本检查以及持久化标识的步骤具体包括:
    在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,以对所述第一事务块添加多版本检查标识;
    通过所述第一流水线线程对所述第一事务块进行多版本检查,并在检测到所述第一事务块的多版本检查的完成指令时,将所述第一事务块的第二阶段互斥锁进行解锁;
    在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第三阶段互斥锁,以对所述第一事务块添加持久化标识;
    通过所述第一流水线线程对所述第一事务块进行持久化处理,并在检测到所述第一事务块的持久化处理的完成指令时,将所述第一事务块的第三阶段互斥锁进行解锁。
  5. 如权利要求4所述的区块链事务的处理方法,其中,所述在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理的步骤具体包括:
    在检测到所述第一事务块的第一阶段互斥锁的加锁信号时,通过所述第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名;
    在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化处理。
  6. 如权利要求4所述的区块链事务的处理方法,其中,所述在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理的步骤包括:
    确定所述第一事务块的验证签名以及多版本检查所需的第一处理时间,确定所述第二事务块的验证签名所需的第二处理时间,并计算出所述第一处理时间以及第二处理时间的时间差值;
    在检测到所述第一事务块的处理时间达到所述时间差值时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理。
  7. 如权利要求1所述的区块链事务的处理方法,其中,所述通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理的步骤具体包括:
    对所述第一事务块进行解析,获取所述第一事务块中的各个事务,并获取各个事务的事务请求秒流量、当前负载状况信息及预设的处理值;
    基于所述事务请求秒流量、当前负载状况信息及预设的处理值,建立多个线程,并通过所述多个线程对所述各个事务进行并行验签签名;
    在完成所述各个事务的并行验签签名时,收集所述多个线程中的各个验签签名结果,并根据所述各个验签签名结果以及事务处理顺序,依次对各个事务依次执行多版本检查和事务持久化处理。
  8. 一种区块链事务的处理装置,其中,所述区块链事务的处理装置包括:
    事务块添加模块,用于在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;
    第一处理模块,用于通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;
    第二处理模块,用于在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。
  9. 如权利要求8所述的区块链事务的处理装置,其中,所述第一处理模块还用于:
    通过所述第一流水线线程对所述事务处理队列中的第一事务块添加第一阶段互斥锁,以对所述第一事务块添加验证签名标识;
    通过所述第一流水线线程对所述第一事务块进行验证签名,并在检测到所述第一事务块的验证签名的完成指令时,将所述第一事务块的第一阶段互斥锁进行解锁;
    在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,并通过所述第一流水线线程对所述第一事务块进行多版本检查以及持久化处理。
  10. 如权利要求8所述的区块链事务的处理装置,其中,所述第一处理模块还用于:
    对所述第一事务块进行解析,获取所述第一事务块中的各个事务,并获取各个事务的事务请求秒流量、当前负载状况信息及预设的处理值;
    基于所述事务请求秒流量、当前负载状况信息及预设的处理值,建立多个线程,并通过所述多个线程对所述各个事务进行并行验签签名;
    在完成所述各个事务的并行验签签名时,收集所述多个线程中的各个验签签名结果,并根据所述各个验签签名结果以及事务处理顺序,依次对各个事务依次执行多版本检查和事务持久化处理。
  11. 如权利要求8所述的区块链事务的处理装置,其中,所述第二处理模块具体还包括:
    第一并行处理单元,用于在检测到所述第一事务块的第一阶段互斥锁的加锁信号时,通过所述第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名;
    第二并行处理单元,用于在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化处理。
  12. 如权利要求8所述的区块链事务的处理装置,其中,所述第二处理模块还用于:
    确定所述第一事务块的验证签名以及多版本检查所需的第一处理时间,确定所述第二事务块的验证签名所需的第二处理时间,并计算出所述第一处理时间以及第二处理时间的时间差值;
    在检测到所述第一事务块的处理时间达到所述时间差值时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理。
  13. 一种区块链事务的处理设备,其中,所述区块链事务的处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机可读指令,其中所述计算机可读指令被所述处理器执行时,实现如下步骤
    在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;
    通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;
    在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。
  14. 如权利要求13所述的区块链事务的处理设备,其中,所述通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理的步骤具体包括:
    通过所述第一流水线线程对所述事务处理队列中的第一事务块添加第一阶段互斥锁,以对所述第一事务块添加验证签名标识;
    通过所述第一流水线线程对所述第一事务块进行验证签名,并在检测到所述第一事务块的验证签名的完成指令时,将所述第一事务块的第一阶段互斥锁进行解锁;
    在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,并通过所述第一流水线线程对所述第一事务块进行多版本检查以及持久化处理。
  15. 如权利要求14所述的区块链事务的处理设备,其中,所述在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理的步骤具体包括:
    在检测到第一事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述事务处理队列中的第二事务块添加第一阶段互斥锁,以对所述第二事务块添加验证签名标识;
    通过所述第二流水线线程对所述第二事务块进行验证签名,并在检测到所述第二事务块验证签名的完成时,将所述第二事务块的第一阶段互斥锁进行解锁;
    在检测到所述第二事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程的对所述第二事务块添加第二阶段互斥锁,以对所述第二事务块进行多版本检查以及持久化标识;
    通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化标识,并在检测到所述第二事务块的多版本检查以及持久化的完成指令时,将所述第二事务块的第二阶段互斥锁进行解锁。
  16. 如权利要求14所述的区块链事务的处理设备,其中,所述在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,以对所述第一事务块进行多版本检查以及持久化标识的步骤具体包括:
    在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,以对所述第一事务块添加多版本检查标识;
    通过所述第一流水线线程对所述第一事务块进行多版本检查,并在检测到所述第一事务块的多版本检查的完成指令时,将所述第一事务块的第二阶段互斥锁进行解锁;
    在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第三阶段互斥锁,以对所述第一事务块添加持久化标识;
    通过所述第一流水线线程对所述第一事务块进行持久化处理,并在检测到所述第一事务块的持久化处理的完成指令时,将所述第一事务块的第三阶段互斥锁进行解锁。
  17. 一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机可读指令,其中所述计算机可读指令被处理器执行时,实现如下步骤:
    在接收到事务处理指令时,获取区块链排序节点中打包的事务块,并将各个事务块依次添加至事务块处理队列;
    通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理;
    在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理,其中,所述预设事件的发生时间不大于所述第一事务块的验证签名的结束时间,以将事务块进行并行处理。
  18. 如权利要求17所述的计算机可读存储介质,其中,所述通过第一流水线线程对所述事务块处理队列中的第一事务块进行验证签名、多版本检查以及持久化处理的步骤具体包括:
    通过所述第一流水线线程对所述事务处理队列中的第一事务块添加第一阶段互斥锁,以对所述第一事务块添加验证签名标识;
    通过所述第一流水线线程对所述第一事务块进行验证签名,并在检测到所述第一事务块的验证签名的完成指令时,将所述第一事务块的第一阶段互斥锁进行解锁;
    在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,并通过所述第一流水线线程对所述第一事务块进行多版本检查以及持久化处理。
  19. 如权利要求18所述的计算机可读存储介质,其中,所述在检测到预设事件发生时,通过第二流水线线程对所述事务块处理队列中的第二事务块进行验证签名、多版本检查以及持久化处理的步骤具体包括:
    在检测到第一事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程对所述事务处理队列中的第二事务块添加第一阶段互斥锁,以对所述第二事务块添加验证签名标识;
    通过所述第二流水线线程对所述第二事务块进行验证签名,并在检测到所述第二事务块验证签名的完成时,将所述第二事务块的第一阶段互斥锁进行解锁;
    在检测到所述第二事务块的第一阶段互斥锁的解锁信号时,通过所述第二流水线线程的对所述第二事务块添加第二阶段互斥锁,以对所述第二事务块进行多版本检查以及持久化标识;
    通过所述第二流水线线程对所述第二事务块进行多版本检查以及持久化标识,并在检测到所述第二事务块的多版本检查以及持久化的完成指令时,将所述第二事务块的第二阶段互斥锁进行解锁。
  20. 如权利要求17所述的计算机可读存储介质,其中,
    所述在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,以对所述第一事务块进行多版本检查以及持久化标识的步骤具体包括:
    在检测到所述第一事务块的第一阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第二阶段互斥锁,以对所述第一事务块添加多版本检查标识;
    通过所述第一流水线线程对所述第一事务块进行多版本检查,并在检测到所述第一事务块的多版本检查的完成指令时,将所述第一事务块的第二阶段互斥锁进行解锁;
    在检测到所述第一事务块的第二阶段互斥锁的解锁信号时,通过所述第一流水线线程的对所述第一事务块添加第三阶段互斥锁,以对所述第一事务块添加持久化标识;
    通过所述第一流水线线程对所述第一事务块进行持久化处理,并在检测到所述第一事务块的持久化处理的完成指令时,将所述第一事务块的第三阶段互斥锁进行解锁。
PCT/CN2019/122054 2019-05-07 2019-11-29 区块链事务的处理方法、装置、设备及存储介质 WO2020224251A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910375885.6A CN110245006B (zh) 2019-05-07 2019-05-07 区块链事务的处理方法、装置、设备及存储介质
CN201910375885.6 2019-05-07

Publications (1)

Publication Number Publication Date
WO2020224251A1 true WO2020224251A1 (zh) 2020-11-12

Family

ID=67883744

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/122054 WO2020224251A1 (zh) 2019-05-07 2019-11-29 区块链事务的处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN110245006B (zh)
WO (1) WO2020224251A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636915A (zh) * 2020-11-27 2021-04-09 杭州趣链科技有限公司 基于国密sm2算法的批量签名验证方法、装置、设备及介质
CN113518384A (zh) * 2021-07-29 2021-10-19 中移(杭州)信息技术有限公司 分布式事务处理方法、装置、设备及计算机可读存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245006B (zh) * 2019-05-07 2023-05-02 深圳壹账通智能科技有限公司 区块链事务的处理方法、装置、设备及存储介质
US11095431B2 (en) * 2019-12-13 2021-08-17 DLT Global, Inc. Blockchain transaction manager
CN111984421B (zh) * 2020-09-03 2022-09-16 深圳壹账通智能科技有限公司 数据处理方法、装置及存储介质
CN111985928A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 一种验证方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365597A1 (en) * 2013-06-07 2014-12-11 International Business Machines Corporation Processing Element Data Sharing
CN109271245A (zh) * 2018-09-13 2019-01-25 腾讯科技(深圳)有限公司 一种区块处理任务的控制方法和装置
CN109344172A (zh) * 2018-08-31 2019-02-15 深圳市元征科技股份有限公司 一种高并发数据处理方法、装置及客户端服务器
CN110245006A (zh) * 2019-05-07 2019-09-17 深圳壹账通智能科技有限公司 区块链事务的处理方法、装置、设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880507A (zh) * 2012-09-12 2013-01-16 科立讯通信股份有限公司 一种链式结构消息申请及分发的方法
CN102945278B (zh) * 2012-11-09 2015-12-09 华为技术有限公司 一种数据库记录重做日志的方法和装置
US10437630B2 (en) * 2016-04-10 2019-10-08 Bank Of America Corporation System for transforming large scale electronic processing using application block chain and multi-structured data stores
CN107766127B (zh) * 2016-08-23 2021-07-06 阿里巴巴集团控股有限公司 事务消息处理方法、装置、设备及系统
US10445302B2 (en) * 2017-01-03 2019-10-15 International Business Machines Corporation Limiting blockchain size to optimize performance
CN107360206B (zh) * 2017-03-29 2020-03-27 创新先进技术有限公司 一种区块链共识方法、设备及系统
CN106980544B (zh) * 2017-03-31 2020-03-03 北京奇艺世纪科技有限公司 一种线程同步方法及线程同步系统
CN108805561B (zh) * 2017-04-27 2023-06-02 中思博安科技(北京)有限公司 可访问多个区块链的智能合约的执行方法和系统
US10896169B2 (en) * 2017-05-12 2021-01-19 International Business Machines Corporation Distributed system, computer program product and method
US10289456B2 (en) * 2017-06-01 2019-05-14 International Business Machines Corporation Software bot conflict-resolution service agent
JP7212266B2 (ja) * 2017-06-05 2023-01-25 バランスド メディア テクノロジー エルエルシー タスクを共同処理するためのプラットフォーム
CN107729137B (zh) * 2017-09-04 2021-06-22 深圳壹账通智能科技有限公司 服务器、区块链验签解密的方法及存储介质
CN107992356B (zh) * 2017-12-13 2021-09-14 深圳壹账通智能科技有限公司 区块链事务区块处理方法、电子装置及可读存储介质
CN108376106A (zh) * 2018-02-01 2018-08-07 中国工商银行股份有限公司 一种区块链消息反馈方法及系统
CN109034802A (zh) * 2018-08-03 2018-12-18 克洛斯比尔有限公司 用于区块链的权益证明创建方法、设备及可读存储介质
CN109522314B (zh) * 2018-10-16 2023-04-14 平安科技(深圳)有限公司 基于区块链的数据归档方法及终端设备
CN109493044A (zh) * 2018-11-08 2019-03-19 深圳壹账通智能科技有限公司 区块链区块删除方法、装置以及终端设备
CN109684091B (zh) * 2018-12-24 2021-04-27 杭州迪普科技股份有限公司 一种任务处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365597A1 (en) * 2013-06-07 2014-12-11 International Business Machines Corporation Processing Element Data Sharing
CN109344172A (zh) * 2018-08-31 2019-02-15 深圳市元征科技股份有限公司 一种高并发数据处理方法、装置及客户端服务器
CN109271245A (zh) * 2018-09-13 2019-01-25 腾讯科技(深圳)有限公司 一种区块处理任务的控制方法和装置
CN110245006A (zh) * 2019-05-07 2019-09-17 深圳壹账通智能科技有限公司 区块链事务的处理方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636915A (zh) * 2020-11-27 2021-04-09 杭州趣链科技有限公司 基于国密sm2算法的批量签名验证方法、装置、设备及介质
CN112636915B (zh) * 2020-11-27 2024-03-22 杭州趣链科技有限公司 基于国密sm2算法的批量签名验证方法、装置、设备及介质
CN113518384A (zh) * 2021-07-29 2021-10-19 中移(杭州)信息技术有限公司 分布式事务处理方法、装置、设备及计算机可读存储介质
CN113518384B (zh) * 2021-07-29 2023-12-01 中移(杭州)信息技术有限公司 分布式事务处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110245006A (zh) 2019-09-17
CN110245006B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
WO2020224251A1 (zh) 区块链事务的处理方法、装置、设备及存储介质
WO2021003975A1 (zh) 网关接口测试方法、终端设备、存储介质及装置
WO2016137304A1 (en) Trust-zone-based end-to-end security
WO2019093574A1 (ko) 해시 기반 서명 기법을 적용한 블록체인 시스템 및 방법
WO2018036167A1 (zh) 测试任务执行机分配方法、装置、服务器和存储介质
WO2020029585A1 (zh) 基于迁移学习的神经网络联邦建模方法、设备及存储介质
WO2020224249A1 (zh) 基于区块链的事务处理方法、装置、设备及存储介质
WO2020220413A1 (zh) 个人信息的零知识证明方法、系统及存储介质
WO2020119115A1 (zh) 数据审核方法、装置、设备及存储介质
WO2020253116A1 (zh) 数据跑批方法、装置、存储介质及集群中的成员主机
WO2020224246A1 (zh) 基于区块链的数据管理方法、装置、设备和存储介质
WO2019109957A1 (zh) 基于esb的服务提供方法、装置、设备及可读存储介质
WO2019132272A1 (ko) 블록체인 기반의 서비스로서의 아이디
WO2018035929A1 (zh) 一种验证码的处理方法及装置
WO2020224250A1 (zh) 智能合约的触发方法、装置、设备及存储介质
WO2018036168A1 (zh) 数据处理任务执行方法、装置、执行服务器和存储介质
WO2020042464A1 (zh) 数据交互方法、装置、设备及可读存储介质
WO2020233089A1 (zh) 测试用例生成方法、装置、终端及计算机可读存储介质
WO2020233057A1 (zh) 文件打包方法、装置、设备及存储介质
WO2020233073A1 (zh) 区块链环境检测方法、设备、装置及存储介质
WO2020062661A1 (zh) 合同数据一致性的核实方法、装置、设备及存储介质
WO2020119369A1 (zh) 智能it运维故障定位方法、装置、设备及可读存储介质
WO2011065660A4 (ko) 계산 시뮬레이션 모사 시스템 및 그 방법
WO2020019405A1 (zh) 数据库监控方法、装置、设备及可读存储介质
WO2020062658A1 (zh) 合同生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19927995

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19927995

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 18/03/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19927995

Country of ref document: EP

Kind code of ref document: A1