CN110083437A - 处理区块链事务的方法及装置 - Google Patents

处理区块链事务的方法及装置 Download PDF

Info

Publication number
CN110083437A
CN110083437A CN201810073273.7A CN201810073273A CN110083437A CN 110083437 A CN110083437 A CN 110083437A CN 201810073273 A CN201810073273 A CN 201810073273A CN 110083437 A CN110083437 A CN 110083437A
Authority
CN
China
Prior art keywords
block chain
affairs
chain affairs
incidence relation
processing
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
CN201810073273.7A
Other languages
English (en)
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.)
Beijing European Chain Technology Co Ltd
Original Assignee
Beijing European Chain 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 Beijing European Chain Technology Co Ltd filed Critical Beijing European Chain Technology Co Ltd
Priority to CN201810073273.7A priority Critical patent/CN110083437A/zh
Publication of CN110083437A publication Critical patent/CN110083437A/zh
Pending legal-status Critical Current

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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种处理区块链事务的方法及装置,涉及数据处理技术领域,能够解决现有技术中串行处理区块链事务效率低的问题。本发明的方法包括:获取特定大小的待处理的区块链事务集合,所述特定大小小于或者等于区块链中每个区块的最大容量;根据区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定所述区块链事务集合中各个区块链事务的关联关系;对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理;将处理结果写入所述区块链中。本发明主要适用于对区块链中的事务进行处理的场景中。

Description

处理区块链事务的方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种处理区块链事务的方法及装置。
背景技术
区块链技术是一种去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代了目前互联网对中心服务器的依赖,各个节点可以通过点对点网络进行通信。事务是区块链技术底层处理的操作单位。目前主流的区块链底层技术,如比特币和以太坊,均采用了串行的区块链事务处理技术,即按照一定顺序依次处理每个区块链事务,从而导致整个区块链事务的处理效率较低。
发明内容
有鉴于此,本发明提供的处理区块链事务的方法及装置,其目的在于解决现有技术中串行处理区块链事务效率低的问题。
为了解决上述问题,本发明主要提供如下技术方案:
第一方面,本发明提供了一种处理区块链事务的方法,所述方法包括:
获取特定大小的待处理的区块链事务集合,所述特定大小小于或者等于区块链中每个区块的最大容量;
根据区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定所述区块链事务集合中各个区块链事务的关联关系;
对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理;
将处理结果写入所述区块链中。
可选的,所述对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理包括:
将具有关联关系的区块链事务划分到同一个区块链事务子集,使得各个区块链事务子集之间不存在关联关系;
针对每个区块链事务子集进行并行处理,针对每个区块链事务子集中的区块链事务进行串行处理。
可选的,所述对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理包括:
将没有关联关系且处于同一个处理顺序的区块链事务划分到同一个区块链事务子集;
按照处理顺序依次处理每个区块链事务子集,且在对每个区块链事务子集进行处理时,对所述区块链事务子集中的各个区块链事务进行并行处理。
可选的,所述对没有关联关系的区块链事务并行处理包括:
使用计算机集群中的多台计算机分别对没有关联关系的区块链事务并行处理;
或者使用多处理器分别对没有关联关系的区块链事务并行处理;
或者启动多进程分别对没有关联关系的区块链事务并行处理;
或者启动多线程分别对没有关联关系的区块链事务并行处理。
可选的,所述获取特定大小的待处理的区块链事务集合包括:
从待处理的区块链事务池中获取所述特定大小的待处理的区块链事务集合。
第二方面,本发明提供了一种处理区块链事务的装置,所述装置包括:
获取单元,用于获取特定大小的待处理的区块链事务集合,所述特定大小小于或者等于区块链中每个区块的最大容量;
确定单元,用于根据区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定所述区块链事务集合中各个区块链事务的关联关系;
处理单元,用于对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理;
写入单元,用于将处理结果写入所述区块链中。
可选的,所述处理单元包括:
第一划分模块,用于将具有关联关系的区块链事务划分到同一个区块链事务子集,使得各个区块链事务子集之间不存在关联关系;
第一处理模块,用于针对每个区块链事务子集进行并行处理,针对每个区块链事务子集中的区块链事务进行串行处理。
可选的,所述处理单元包括:
第二划分模块,用于将没有关联关系且处于同一个处理顺序的区块链事务划分到同一个区块链事务子集;
第二处理模块,用于按照处理顺序依次处理每个区块链事务子集,且在对每个区块链事务子集进行处理时,对所述区块链事务子集中的各个区块链事务进行并行处理。
可选的,所述处理单元,用于使用计算机集群中的多台计算机分别对没有关联关系的区块链事务并行处理;或者使用多处理器分别对没有关联关系的区块链事务并行处理;或者启动多进程分别对没有关联关系的区块链事务并行处理;或者启动多线程分别对没有关联关系的区块链事务并行处理。
可选的,所述获取单元,用于从待处理的区块链事务池中获取所述特定大小的待处理的区块链事务集合。
第三方面,本发明提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如第一方面所述的处理区块链事务的方法。
第四方面,本发明提供了一种处理区块链事务的装置,所述装置包括存储介质和处理器;
所述处理器,适于实现各指令;
所述存储介质,适于存储多条指令;
所述指令适于由所述处理器加载并执行如第一方面所述的处理区块链事务的方法。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供的处理区块链事务的方法及装置,在获取到特定大小的待处理的区块链事务集合后,并不是直接对该区块链事务集合中的每个区块链事务按照顺序一个一个进行处理,而是先根据区块链中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定该区块链事务集合中各个区块链事务的关联关系,然后对没有关联关系的区块链事务进行并行处理,对具有关联关系的区块链事务才进行串行处理,从而大大提高了整个区块链网络的事务处理效率,进而提高了整个区块链网络的吞吐率,即可以提升区块链网络单位时间内处理事务的数量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种处理区块链事务的方法的流程图;
图2示出了本发明实施例提供的一种并行处理区块链事务的方法流程图;
图3示出了本发明实施例提供的另一种并行处理区块链事务的方法流程图;
图4示出了本发明实施例提供的一种处理区块链事务的装置的组成框图;
图5示出了本发明实施例提供的另一种处理区块链事务的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种处理区块链事务的方法,如图1所示,所述方法主要包括:
101、获取特定大小的待处理的区块链事务集合。
区块链网络中只有部分区块链节点才具有区块链写入权限,并将这种节点叫做区块链记账节点。区块链记账节点会实时或者定期从区块链事务池中查看是否有待处理的事务产生,当确定有待处理的事务时,可以从待处理的区块链事务池中获取特定大小的待处理的区块链事务集合,并对该区块链事务集合中的事务进行处理。其中,由于将区块链事务进行处理后,将处理结果打包写入一个新的区块中,所以所述特定大小不可以大于区块链中每个区块的最大容量,即获取的区块链事务集合中所有区块链事务累加起来的数据大小需要小于或者等于区块的最大容量。
102、根据区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定所述区块链事务集合中各个区块链事务的关联关系。
在实际应用中,每个区块链网络中均制定有关于区块链事务的执行规则,且不同区块链网络制定的执行规则可能因需求不同而不同。例如,有的区块链网络要求不可以存在双花(即同一时间花费两次)的情况,而有的区块链网络则没有这样的要求。另外,用户要求处理的多个区块链事务本身也可能就存在先后顺序,例如用户要求先用资金1买物品1,再用剩余的资金2买物品2。因此,可以根据当前区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定该区块链事务集合中各个区块链事务的关联关系,以便后续根据关联关系进行处理。
103、对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理。
由于没有关联关系的区块链事务无论谁先执行还是同时都不会影响执行结果,而具有关联关系的区块链事务若同时执行则会违反区块链事务的执行规则或者区块链事务的执行逻辑,所以可以对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理。
在实际应用中,实现上述处理效果的方法包含但不限于以下两种:
方法一:先将具有关联关系的区块链事务划分到同一个区块链事务子集,使得各个区块链事务子集之间不存在关联关系,然后针对每个区块链事务子集进行并行处理,针对每个区块链事务子集中的区块链事务进行串行处理。
如图2所示,区块链记账节点可以将待处理的区块链事务集合划分成N个区块链事务子集,使得各个区块链事务子集之间不存在关联关系(例如使得各个区块链事务子集之间不存在双花的情况),而每个区块链事务子集的区块链事务存在关联关系,然后并行处理区块链事务子集1、区块链事务子集2、区块链事务子集3…区块链事务子集N,在处理每个区块链事务子集时可以根据关联关系进行串行处理,最后收集每个区块链事务子集的处理结果,并将处理结果写入区块链中。
方法二:先将没有关联关系且处于同一个处理顺序的区块链事务划分到同一个区块链事务子集,然后按照处理顺序依次处理每个区块链事务子集,且在对每个区块链事务子集进行处理时,对所述区块链事务子集中的各个区块链事务进行并行处理。
如图3所示,区块链记账节点可以将待处理的区块链事务集合划分成N个区块链事务子集,使得没有关联关系且处于同一个处理顺序的区块链事务处于同一个区块链事务子集,然后开始并行处理区块链事务子集1中的每个区块链事务,再根据区块链事务子集1中对应区块链事务的处理结果并行处理区块链事务子集2中的区块链事务,直至处理完区块链事务子集N中的所有区块链事务,再将所有的处理结果写入区块链中。例如,可以先将需要第一个处理的区块链事务1、3划分到同一个区块链事务子集,将需要第二个处理的区块链事务2、4划分为同一个区块链事务子集),然后并行处理区块链事务1和3,再基于对区块链事务1的处理结果处理区块链事务2,基于对区块链事务3的处理结果处理区块链事务4,而区块链事务2和区块链事务4则是并行处理。
此外,对没有关联关系的区块链事务并行处理的具体实现方式包括:使用计算机集群中的多台计算机分别对没有关联关系的区块链事务并行处理;或者使用多处理器分别对没有关联关系的区块链事务并行处理;或者启动多进程分别对没有关联关系的区块链事务并行处理;或者启动多线程分别对没有关联关系的区块链事务并行处理。。也就是说,在使用上述方法一的过程中,可以通过多台计算机并行处理每个区块链事务子集,也可以通过使用一台计算机的多个处理器并行处理每个区块链事务子集,也可以启动一台计算机的多个进程(或者多线程)并行处理每个区块链事务子集;在使用上述方法二的过程中,通过多台计算机并行处理当前区块链事务子集中的各个区块链事务,也可以通过一台计算机的多个处理器并行处理当前区块链事务子集中的各个区块链事务,也可以通过启动一台计算机的多进程(或者多线程)并行处理当前区块链事务子集中的各个区块链事务。
需要补充的是,处理区块链事务的操作包括但不限于:数字签名的验证、数字资产转移及验证、智能合约的执行及验证等等。
104、将处理结果写入所述区块链中。
在对区块链事务集合处理完毕后,可以将所有的处理结果进行打包写入新区块中,并将新区块广播至整个区块链网络,以使得每个区块链节点用户均可以查看新区块中记录的内容。
本发明实施例提供的处理区块链事务的方法,在获取到特定大小的待处理的区块链事务集合后,并不是直接对该区块链事务集合中的每个区块链事务按照顺序一个一个进行处理,而是先根据区块链中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定该区块链事务集合中各个区块链事务的关联关系,然后对没有关联关系的区块链事务进行并行处理,对具有关联关系的区块链事务才进行串行处理,从而大大提高了整个区块链网络的事务处理效率,进而提高了整个区块链网络的吞吐率,即可以提升区块链网络单位时间内处理事务的数量。
进一步的,依据上述方法实施例,本发明的另一个实施例还提供了一种处理区块链事务的装置,如图4所示,所述装置主要包括:获取单元21、确定单元22、处理单元23和写入单元24。其中,
获取单元21,用于获取特定大小的待处理的区块链事务集合,所述特定大小小于或者等于区块链中每个区块的最大容量;
确定单元22,用于根据区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定所述区块链事务集合中各个区块链事务的关联关系;
处理单元23,用于对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理;
写入单元24,用于将处理结果写入所述区块链中。
可选的,如图5所示,所述处理单元23包括:
第一划分模块231,用于将具有关联关系的区块链事务划分到同一个区块链事务子集,使得各个区块链事务子集之间不存在关联关系;
第一处理模块232,用于针对每个区块链事务子集进行并行处理,针对每个区块链事务子集中的区块链事务进行串行处理。
可选的,如图5所示,所述处理单元23包括:
第二划分模块233,用于将没有关联关系且处于同一个处理顺序的区块链事务划分到同一个区块链事务子集;
第二处理模块234,用于按照处理顺序依次处理每个区块链事务子集,且在对每个区块链事务子集进行处理时,对所述区块链事务子集中的各个区块链事务进行并行处理。
可选的,所述处理单元23,用于使用计算机集群中的多台计算机分别对没有关联关系的区块链事务并行处理;或者使用多处理器分别对没有关联关系的区块链事务并行处理;或者启动多进程分别对没有关联关系的区块链事务并行处理;或者启动多线程分别对没有关联关系的区块链事务并行处理。
可选的,所述获取单元21,用于从待处理的区块链事务池中获取所述特定大小的待处理的区块链事务集合。
本发明实施例提供的处理区块链事务的装置,在获取到特定大小的待处理的区块链事务集合后,并不是直接对该区块链事务集合中的每个区块链事务按照顺序一个一个进行处理,而是先根据区块链中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定该区块链事务集合中各个区块链事务的关联关系,然后对没有关联关系的区块链事务进行并行处理,对具有关联关系的区块链事务才进行串行处理,从而大大提高了整个区块链网络的事务处理效率,进而提高了整个区块链网络的吞吐率,即可以提升区块链网络单位时间内处理事务的数量。
本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如上所述的处理区块链事务的方法。
存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供的存储介质中存储的指令,在获取到特定大小的待处理的区块链事务集合后,并不是直接对该区块链事务集合中的每个区块链事务按照顺序一个一个进行处理,而是先根据区块链中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定该区块链事务集合中各个区块链事务的关联关系,然后对没有关联关系的区块链事务进行并行处理,对具有关联关系的区块链事务才进行串行处理,从而大大提高了整个区块链网络的事务处理效率,进而提高了整个区块链网络的吞吐率,即可以提升区块链网络单位时间内处理事务的数量。
本发明实施例提供了一种处理区块链事务的装置,所述装置包括存储介质和处理器;
所述处理器,适于实现各指令;
所述存储介质,适于存储多条指令;
所述指令适于由所述处理器加载并执行如上所述的处理区块链事务的方法。
处理器中包含内核,由内核去存储介质中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高区块链事务的处理效率。
本发明实施例提供的处理区块链事务的装置,在获取到特定大小的待处理的区块链事务集合后,并不是直接对该区块链事务集合中的每个区块链事务按照顺序一个一个进行处理,而是先根据区块链中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定该区块链事务集合中各个区块链事务的关联关系,然后对没有关联关系的区块链事务进行并行处理,对具有关联关系的区块链事务才进行串行处理,从而大大提高了整个区块链网络的事务处理效率,进而提高了整个区块链网络的吞吐率,即可以提升区块链网络单位时间内处理事务的数量。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:
获取特定大小的待处理的区块链事务集合,所述特定大小小于或者等于区块链中每个区块的最大容量;
根据区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定所述区块链事务集合中各个区块链事务的关联关系;
对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理;
将处理结果写入所述区块链中。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种处理区块链事务的方法,其特征在于,所述方法包括:
获取特定大小的待处理的区块链事务集合,所述特定大小小于或者等于区块链中每个区块的最大容量;
根据区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定所述区块链事务集合中各个区块链事务的关联关系;
对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理;
将处理结果写入所述区块链中。
2.根据权利要求1所述的方法,其特征在于,所述对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理包括:
将具有关联关系的区块链事务划分到同一个区块链事务子集,使得各个区块链事务子集之间不存在关联关系;
针对每个区块链事务子集进行并行处理,针对每个区块链事务子集中的区块链事务进行串行处理。
3.根据权利要求1所述的方法,其特征在于,所述对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理包括:
将没有关联关系且处于同一个处理顺序的区块链事务划分到同一个区块链事务子集;
按照处理顺序依次处理每个区块链事务子集,且在对每个区块链事务子集进行处理时,对所述区块链事务子集中的各个区块链事务进行并行处理。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对没有关联关系的区块链事务并行处理包括:
使用计算机集群中的多台计算机分别对没有关联关系的区块链事务并行处理;
或者使用多处理器分别对没有关联关系的区块链事务并行处理;
或者启动多进程分别对没有关联关系的区块链事务并行处理;
或者启动多线程分别对没有关联关系的区块链事务并行处理。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述获取特定大小的待处理的区块链事务集合包括:
从待处理的区块链事务池中获取所述特定大小的待处理的区块链事务集合。
6.一种处理区块链事务的装置,其特征在于,所述装置包括:
获取单元,用于获取特定大小的待处理的区块链事务集合,所述特定大小小于或者等于区块链中每个区块的最大容量;
确定单元,用于根据区块链网络中制定的区块链事务的执行规则和区块链事务的执行逻辑,确定所述区块链事务集合中各个区块链事务的关联关系;
处理单元,用于对没有关联关系的区块链事务并行处理,对具有关联关系的区块链事务串行处理;
写入单元,用于将处理结果写入所述区块链中。
7.根据权利要求6所述的装置,其特征在于,所述处理单元包括:
第一划分模块,用于将具有关联关系的区块链事务划分到同一个区块链事务子集,使得各个区块链事务子集之间不存在关联关系;
第一处理模块,用于针对每个区块链事务子集进行并行处理,针对每个区块链事务子集中的区块链事务进行串行处理。
8.根据权利要求6所述的装置,其特征在于,所述处理单元包括:
第二划分模块,用于将没有关联关系且处于同一个处理顺序的区块链事务划分到同一个区块链事务子集;
第二处理模块,用于按照处理顺序依次处理每个区块链事务子集,且在对每个区块链事务子集进行处理时,对所述区块链事务子集中的各个区块链事务进行并行处理。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述处理单元,用于使用计算机集群中的多台计算机分别对没有关联关系的区块链事务并行处理;或者使用多处理器分别对没有关联关系的区块链事务并行处理;或者启动多进程分别对没有关联关系的区块链事务并行处理;或者启动多线程分别对没有关联关系的区块链事务并行处理。
10.根据权利要求6至8中任一项所述的装置,其特征在于,所述获取单元,用于从待处理的区块链事务池中获取所述特定大小的待处理的区块链事务集合。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求5中任意一项所述的处理区块链事务的方法。
12.一种处理区块链事务的装置,其特征在于,所述装置包括存储介质和处理器;
所述处理器,适于实现各指令;
所述存储介质,适于存储多条指令;
所述指令适于由所述处理器加载并执行如权利要求1至权利要求5中任意一项所述的处理区块链事务的方法。
CN201810073273.7A 2018-01-25 2018-01-25 处理区块链事务的方法及装置 Pending CN110083437A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810073273.7A CN110083437A (zh) 2018-01-25 2018-01-25 处理区块链事务的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810073273.7A CN110083437A (zh) 2018-01-25 2018-01-25 处理区块链事务的方法及装置

Publications (1)

Publication Number Publication Date
CN110083437A true CN110083437A (zh) 2019-08-02

Family

ID=67412177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810073273.7A Pending CN110083437A (zh) 2018-01-25 2018-01-25 处理区块链事务的方法及装置

Country Status (1)

Country Link
CN (1) CN110083437A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110675255A (zh) * 2019-08-30 2020-01-10 阿里巴巴集团控股有限公司 在区块链中并发执行交易的方法和装置
CN113205407A (zh) * 2021-05-28 2021-08-03 中国工商银行股份有限公司 分布式子事务处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160259937A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Device reporting and protection systems and methods using a secure distributed transactional ledger
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
CN107360206A (zh) * 2017-03-29 2017-11-17 阿里巴巴集团控股有限公司 一种区块链共识方法、设备及***
CN107402824A (zh) * 2017-05-31 2017-11-28 阿里巴巴集团控股有限公司 一种数据处理的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160259937A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Device reporting and protection systems and methods using a secure distributed transactional ledger
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
CN107360206A (zh) * 2017-03-29 2017-11-17 阿里巴巴集团控股有限公司 一种区块链共识方法、设备及***
CN107402824A (zh) * 2017-05-31 2017-11-28 阿里巴巴集团控股有限公司 一种数据处理的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蔡维德等: "基于区块链的应用***开发方法研究", 《软件学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110675255A (zh) * 2019-08-30 2020-01-10 阿里巴巴集团控股有限公司 在区块链中并发执行交易的方法和装置
CN113205407A (zh) * 2021-05-28 2021-08-03 中国工商银行股份有限公司 分布式子事务处理方法及装置

Similar Documents

Publication Publication Date Title
EP3161635B1 (en) Machine learning service
CN108984652A (zh) 一种可配置数据清洗***和方法
CN105988930A (zh) 测试用例生成方法和装置
CN108765159A (zh) 一种基于区块链的上链与状态处理方法、装置及互联***
Keshavarz et al. Minimizing total completion time in the flexible flowshop sequence-dependent group scheduling problem
CN108415912A (zh) 基于MapReduce模型的数据处理方法和设备
WO2018054221A1 (en) Pipeline dependent tree query optimizer and scheduler
CN108255628A (zh) 一种数据处理方法及装置
Jiang et al. Parallel K-Medoids clustering algorithm based on Hadoop
CN108959359A (zh) 一种统一资源定位符语义去重方法、装置、设备和介质
CN111882426A (zh) 业务风险分类器训练方法、装置、设备及存储介质
CN112035879A (zh) 一种提高小区自动物流保密性的信息处理方法及***
CN109345221A (zh) 资源流转的核对方法及装置
CN110083437A (zh) 处理区块链事务的方法及装置
US20090254319A1 (en) Method and system for numerical simulation of a multiple-equation system of equations on a multi-processor core system
CN109033365A (zh) 一种数据处理方法及相关设备
CN108985067A (zh) 基于自动化回溯的内容处理方法和装置
CN113144624B (zh) 一种数据处理方法、装置、设备及存储介质
CN106570005A (zh) 清理数据库的方法和装置
Kuriakose et al. Optimization of a real time web enabled mixed model stochastic assembly line to reduce production time
Frey et al. JAX-LOB: A GPU-Accelerated limit order book simulator to unlock large scale reinforcement learning for trading
CN112258129A (zh) 配送路径预测网络训练、配送资源调度方法及装置
CN108241652A (zh) 关键词聚类方法及装置
CN109902178A (zh) 一种多级文本分类方法及***
CN109582476A (zh) 数据处理方法、装置及***

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190802

RJ01 Rejection of invention patent application after publication