CN109614206A - 区块链事务处理的装置、方法及存储介质 - Google Patents
区块链事务处理的装置、方法及存储介质 Download PDFInfo
- Publication number
- CN109614206A CN109614206A CN201811250449.8A CN201811250449A CN109614206A CN 109614206 A CN109614206 A CN 109614206A CN 201811250449 A CN201811250449 A CN 201811250449A CN 109614206 A CN109614206 A CN 109614206A
- Authority
- CN
- China
- Prior art keywords
- sign test
- affairs
- result
- multi version
- preset
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000001629 sign test Methods 0.000 claims abstract description 235
- 238000012545 processing Methods 0.000 claims abstract description 95
- 238000007689 inspection Methods 0.000 claims abstract description 77
- 230000002688 persistence Effects 0.000 claims abstract description 15
- 238000004321 preservation Methods 0.000 claims abstract description 14
- 238000012360 testing method Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种区块链技术,揭露了一种区块链事务处理的装置、方法及存储介质,该方法包括:在接收到待入链的区块后,获取该待入链的区块中的各个事务及各个事务对应的签名信息;对各个事务的验签操作及多版本检查操作进行并行处理,并获取对应的第一验签结果及第一多版本检查结果;基于该签名信息获取第二验签结果,基于该第二验签结果检查该第一验签结果是否正确;若该第一验签结果正确,则基于该第一多版本检查结果进行事务的持久化处理,以提交并入链保存。本发明能够提升区块链系统处理事务的吞吐率,提高整体运行速度。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链事务处理的装置、方法及存储介质。
背景技术
目前,随着区块链技术的不断兴起,联盟区块链与普通区块链不断地被应用于不同的应用场景,而联盟区块链与普通区块链的根本区别之一是需要提供隐私保护机制,通常情况下,该保护机制是通过密码学中的签名加密和验签解密来实现的。通常情况下,多个事务(例如,交易事务)被以打包成块的形式发送给区块链上的节点,由节点解开块,获取其中的事务,并对每个事务经过特定类型检查(例如,签名验证、多版本检查(Multi-VersionConcurrency Control,MVCC))后,将事务保存到区块链的磁盘(即入链保存)。
然而,现有的区块链技术中,该特定类型检查通常是串行处理的,即对本领域技术人员来说,惯性思维是针对特定类型的检查应采用串行处理方案,区块链系统的吞吐率低,使得整体运行速度也低。
发明内容
本发明的目的在于提供一种区块链事务处理的装置、方法及存储介质,旨在提升区块链系统处理事务的吞吐率,提高整体运行速度。
为实现上述目的,本发明提供一种区块链事务处理的装置,所述区块链事务处理的装置包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现如下步骤:
在接收到待入链的区块后,获取该待入链的区块中的各个事务及各个事务对应的签名信息;
对各个事务的验签操作及多版本检查操作进行并行处理,并获取对应的第一验签结果及第一多版本检查结果;
基于该签名信息获取第二验签结果,基于该第二验签结果检查该第一验签结果是否正确;
若该第一验签结果正确,则基于该第一多版本检查结果进行事务的持久化处理,以提交并入链保存。
优选地,所述第一验签结果为验签通过,所述对各个事务的验签操作及多版本检查操作进行并行处理的步骤,具体包括:
分别将各个事务验签操作的验签结果均设置为验签通过的同时,对设置为验签通过的各个事务进行多版本检查操作,以对各个事务的验签操作及多版本检查操作进行并行处理。
优选地,所述处理系统被所述处理器执行时,还实现如下步骤:
若该第一验签结果不正确,则丢弃该第一验签结果及第一多版本检查结果,基于该第二验签结果进行多版本检查得到第二多版本检查结果,并基于该第二多版本检查结果进行事务的持久化处理,以提交并入链保存。
优选地,所述基于该签名信息获取第二验签结果的步骤为串行处理步骤或者并行处理步骤,若为并行处理步骤,则所述基于该签名信息获取第二验签结果的步骤,具体包括:
获取当前的事务请求秒流量、当前的CPU负载状况信息及预设的处理值,基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU,以基于该签名信息进行动态并行验签,得到该第二验签结果。
为实现上述目的,本发明还提供一种区块链事务处理的方法,所述区块链事务处理的方法包括:
S1,在接收到待入链的区块后,获取该待入链的区块中的各个事务及各个事务对应的签名信息;
S2,对各个事务的验签操作及多版本检查操作进行并行处理,并获取对应的第一验签结果及第一多版本检查结果;
S3,基于该签名信息获取第二验签结果,基于该第二验签结果检查该第一验签结果是否正确;
S4,若该第一验签结果正确,则基于该第一多版本检查结果进行事务的持久化处理,以提交并入链保存。
优选地,所述第一验签结果为验签通过,所述对各个事务的验签操作及多版本检查操作进行并行处理的步骤,具体包括:
分别将各个事务验签操作的验签结果均设置为验签通过的同时,对设置为验签通过的各个事务进行多版本检查操作,以对各个事务的验签操作及多版本检查操作进行并行处理。
优选地,所述步骤S3之后,还包括:
若该第一验签结果不正确,则丢弃该第一验签结果及第一多版本检查结果,基于该第二验签结果进行多版本检查得到第二多版本检查结果,并基于该第二多版本检查结果进行事务的持久化处理,以提交并入链保存。
优选地,所述基于该签名信息获取第二验签结果的步骤为串行处理步骤或者并行处理步骤,若为并行处理步骤,则所述基于该签名信息获取第二验签结果的步骤,具体包括:
获取当前的事务请求秒流量、当前的CPU负载状况信息及预设的处理值,基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU,以基于该签名信息进行动态并行验签,得到该第二验签结果。
优选地,所述CPU负载状况信息包括CPU工作时间比例,所述预设的处理值包括预设的用于验签的CPU的最大数值、预设的验签时间,所述基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU的步骤,具体包括:
根据该事务请求秒流量及CPU工作时间比例实时分析当前验签所需的时间是否大于该预设的验签时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签的CPU的最大数值;
若当前验签所需的时间大于该预设的验签时间,且该CPU工作时间比例未达到该上限值,以及当前线程的数量小于预设的用于验签的CPU的最大数值,则增加预设数量的线程,以对各个事务进行验签;
若当前验签所需的时间小于等于该预设的验签时间,则继续执行实时分析当前验签所需的时间是否大于该预设的验签时间的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述的区块链事务处理的方法的步骤。
本发明的有益效果是:本发明将验签操作和多版本检查操作并行执行,在事务持久化之前,重新根据签名信息检查并行执行后的验签操作中的验签结果是否正确,如果正确,则可以直接利用并行执行后的多版本检查的结果,使得原先必须要顺序执行的验证签名步骤和多版本检查步骤可以并发执行,提升了系统的吞吐率,使得整体运行速度大大提高。
附图说明
图1为本发明各个实施例一可选的应用环境示意图;
图2是图1中区块链事务处理的装置一实施例的硬件架构的示意图;
图3为本发明区块链事务处理的方法第一实施例的流程示意图;
图4为本发明区块链事务处理的方法第二实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明区块链事务处理的方法的较佳实施例的应用环境示意图。该应用环境示意图包括由区块链网络中的多个节点装置组成,节点装置通过区块链网络进行事务的交易,该节点装置即为图2中的区块链事务处理的装置1。
如图2所示,区块链事务处理的装置1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述区块链事务处理的装置1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,区块链事务处理的装置1可包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的处理系统。需要指出的是,图2仅示出了具有组件11-13的区块链事务处理的装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为区块链事务处理的装置1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是区块链事务处理的装置1的内部存储单元,例如该区块链事务处理的装置1的硬盘;在另一些实施例中,该非易失性存储介质也可以是区块链事务处理的装置1的外部存储设备,例如区块链事务处理的装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于区块链事务处理的装置1的操作系统和各类应用软件,例如存储本发明一实施例中的处理系统的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述区块链事务处理的装置1的总体操作,例如执行与其他装置进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行处理系统等。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述区块链事务处理的装置1与其他装置之间建立通信连接。
所述处理系统存储在存储器11中,包括至少一个存储在存储器11中的计算机可读指令,该至少一个计算机可读指令可被处理器器12执行,以实现本申请各实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
在一实施例中,上述处理系统被所述处理器12执行时实现如下步骤:
在接收到待入链的区块后,获取该待入链的区块中的各个事务及各个事务对应的签名信息;
对各个事务的验签操作及多版本检查操作进行并行处理,并获取对应的第一验签结果及第一多版本检查结果;
基于该签名信息获取第二验签结果,基于该第二验签结果检查该第一验签结果是否正确;
若该第一验签结果正确,则基于该第一多版本检查结果进行事务的持久化处理,以提交并入链保存。
本发明使得原先必须要顺序执行的验证签名步骤和多版本检查步骤可以并发执行,提升了系统的吞吐率,使得整体运行速度大大提高。
进一步地,所述第一验签结果为验签通过,所述对各个事务的验签操作及多版本检查操作进行并行处理的步骤,具体包括:
分别将各个事务验签操作的验签结果均设置为验签通过的同时,对设置为验签通过的各个事务进行多版本检查操作,以对各个事务的验签操作及多版本检查操作进行并行处理。
进一步地,所述处理系统被所述处理器执行时,还实现如下步骤:
若该第一验签结果不正确,则丢弃该第一验签结果及第一多版本检查结果,基于该第二验签结果进行多版本检查得到第二多版本检查结果,并基于该第二多版本检查结果进行事务的持久化处理,以提交并入链保存。
进一步地,所述基于该签名信息获取第二验签结果的步骤为串行处理步骤或者并行处理步骤,若为并行处理步骤,则所述基于该签名信息获取第二验签结果的步骤,具体包括:
获取当前的事务请求秒流量、当前的CPU负载状况信息及预设的处理值,基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU,以基于该签名信息进行动态并行验签,得到该第二验签结果。
进一步地,所述CPU负载状况信息包括CPU工作时间比例,所述预设的处理值包括预设的用于验签的CPU的最大数值、预设的验签时间,所述基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU的步骤,具体包括:
根据该事务请求秒流量及CPU工作时间比例实时分析当前验签所需的时间是否大于该预设的验签时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签的CPU的最大数值;
若当前验签所需的时间大于该预设的验签时间,且该CPU工作时间比例未达到该上限值,以及当前线程的数量小于预设的用于验签的CPU的最大数值,则增加预设数量的线程,以对各个事务进行验签;
若当前验签所需的时间小于等于该预设的验签时间,则继续执行实时分析当前验签所需的时间是否大于该预设的验签时间的步骤。
本发明中,由于实际应用场景中大部分的事务验签为通过的情况,因此,在设置或者假定所有事务都通过验签的情况下,原先必须要顺序执行的验证签名步骤和多版本检查步骤可以并发执行,这样提升了系统的吞吐率,使得整体运行速度大大提高
如图3所示,图3为本发明区块链事务处理的方法一实施例的流程示意图,该区块链事务处理的方法包括以下步骤:
步骤S1,在接收到待入链的区块后,获取该待入链的区块中的各个事务及各个事务对应的签名信息;
在区块链网络中,预先将标识有处理顺序的各个事务打包成区块的形式,在接收到待入链的区块后,对区块进行解析处理,获取区块中的各个事务及对应的签名信息,按照标识的处理顺序逐个对事务进行验签等处理。其中,事务例如为数据库中的数据相关的操作,包括数据的修改操作、数据的删除操作等等,当然还包括其他的操作。
步骤S2,对各个事务的验签操作及多版本检查操作进行并行处理,并获取对应的第一验签结果及第一多版本检查结果;
其中,在实际应用场景中必须等待事务的验签操作完成后才可执行多版本检查操作,本实施例可以直接对各个事务的验签操作及多版本检查操作进行并行处理。
其中,第一验签结果为验签通过,所述对各个事务的验签操作及多版本检查操作进行并行处理的步骤,具体包括:分别将各个事务验签操作的验签结果均设置为验签通过的同时,对设置为验签通过的各个事务进行多版本检查操作,以对各个事务的验签操作及多版本检查操作进行并行处理。
在实际应用场景中,大部分事务验签操作均为验签通过的情况,只有少量的事务验签操作为不通过的情况。本实施例直接将各个事务验签结果设置为验签通过,不需要根据签名信息进行验签操作,该设置符合大部分的实际应用场景,通过该设置,可以同时进行多版本检查操作,实现两者的并行处理。
其中,各个事务的验签操作是合法性进行验证,多版本检查为是一种并发控制机制,例如,A事务为“将a改为1”,B事务为“将a改为2”,那么通过多版本检查,可以最终确认哪个是用于进行持久化处理的数据。
步骤S3,基于该签名信息获取第二验签结果,基于该第二验签结果检查该第一验签结果是否正确;
其中,在对各个事务的验签操作及多版本检查操作进行并行处理之后,再根据签名信息进行事务的验签操作,得到第二验签结果,该第二验签结果为真实的验签结果。如果第二验签结果为全部的事务的验签通过,则第一验签结果是正确的,如果第二验签结果中有事务的验签未通过,则第一验签结果是不正确的。
在一实施例中,本次根据签名信息进行事务的验签操作可以采用串行处理的方式,即逐个事务进行验签,在其他实施例中,也可以采用并行处理的方式。
其中,如果采用并行处理的方式,则基于该签名信息获取第二验签结果的步骤,具体包括:获取当前的事务请求秒流量、当前的CPU负载状况信息及预设的处理值,基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU,以基于该签名信息进行动态并行验签,得到该第二验签结果。
其中,CPU负载状况信息包括CPU工作时间比例(当然也可以是CPU空闲时间比例),预设的处理值包括预设的用于验签的CPU的最大数值、预设的验签时间,所述基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU的步骤,具体包括:
根据该事务请求秒流量及CPU工作时间比例实时分析当前验签所需的时间是否大于该预设的验签时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签的CPU的最大数值;若当前验签所需的时间大于该预设的验签时间,且该CPU工作时间比例未达到该上限值,以及当前线程的数量小于预设的用于验签的CPU的最大数值,则增加预设数量的线程,以对各个事务进行验签;若当前验签所需的时间小于等于该预设的验签时间,则不需要增加线程,可继续执行实时分析当前验签所需的时间是否大于该预设的验签时间的步骤。
其中,CPU工作时间比例越大则CPU的使用率越高;预设的用于验签的CPU的最大数值例如为16个,预设的验签时间例如为10秒。
本实施例中,同时考虑当前的事务请求秒流量、CPU负载状况信息及预设的处理值来建立线程:在当前的事务请求秒流量较大、当前的CPU工作时间比例较小时,为了使得验签时间达到预设的验签时间,可以建立数量相对多的线程;在当前的事务请求秒流量较小、当前的CPU工作时间比例较小时,可以建立数量相对少的线程,等等,通过多线程动态控制的方式,实现事务的并行验签,提高验签的速度。
例如:当前的事务请求秒流量为10000/h(每小时10000条数据),当前的CPU工作时间比例为20%,预设的验签时间为10秒,经分析可以建立5个线程用于验签,基于该5个线程将事务分配给5个CPU进行并行验签。
此外,在CPU进行验签的实际过程中可能出现其他因素影响验签的时间,为了使得验签时间不大于预设的验签时间,本实施例还可以动态调整线程的数量,例如,在受其他因素的影响使得验签时间大于预设的验签时间的情况下,若当前的事务请求秒流量较大、当前的CPU工作时间比例较小,以及当前线程的数量不超过预设的用于验签的CPU的最大数值时,可以增加线程的数量。理想状态下,一个线程分配事务给一个CPU进行验签,因此线程数量的增加的同时,也相当于调整当前用于验签CPU的数量。
步骤S4,若该第一验签结果正确,则基于该第一多版本检查结果进行事务的持久化处理,以提交并入链保存。
其中,如果第一验签结果正确,则可以利用第一多版本检查结果进行事务的持久化处理,即将事务进行存储,以提交并入链保存。
其中,结合参阅图4,所述步骤S3之后,还包括步骤S5:若该第一验签结果不正确,则丢弃该第一验签结果及第一多版本检查结果,基于该第二验签结果进行多版本检查得到第二多版本检查结果,并基于该第二多版本检查结果进行事务的持久化处理,以提交并入链保存。
其中,如果该第一验签结果不正确,则第一多版本检查结果也不能使用,丢弃该第一验签结果及第一多版本检查结果,按照已有的验签-多版本检查的流程,基于该第二验签结果进行多版本检查得到第二多版本检查结果,并基于该第二多版本检查结果进行事务的持久化处理。
本发明首先设置或者假定所有事务都通过验签,这样就可以将验签和多版本检查并行执行。在事务持久化之前,重新根据签名信息检查事务是否验签通过,如果验签通过,说明前述的设置或假定是正确的,可以直接利用多版本检查的结果;如果验签不通过,说明前述的设置或假定不正确,基于本次的检查得到的验签结果重新进行多版本检查。由于实际应用场景中大部分的事务验签为通过的情况,因此,在设置或者假定所有事务都通过验签的情况下,原先必须要顺序执行的验证签名步骤和多版本检查步骤可以并发执行,这样提升了系统的吞吐率,使得整体运行速度大大提高;即使后续检查出有事务未通过验签,也不影响系统的整体运行速度,对整体性能的影响也可以忽略不计。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述的区块链事务处理的方法的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种区块链事务处理的装置,其特征在于,所述区块链事务处理的装置包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现如下步骤:
在接收到待入链的区块后,获取该待入链的区块中的各个事务及各个事务对应的签名信息;
对各个事务的验签操作及多版本检查操作进行并行处理,并获取对应的第一验签结果及第一多版本检查结果;
基于该签名信息获取第二验签结果,基于该第二验签结果检查该第一验签结果是否正确;
若该第一验签结果正确,则基于该第一多版本检查结果进行事务的持久化处理,以提交并入链保存。
2.根据权利要求1所述的区块链事务处理的装置,其特征在于,所述第一验签结果为验签通过,所述对各个事务的验签操作及多版本检查操作进行并行处理的步骤,具体包括:
分别将各个事务验签操作的验签结果均设置为验签通过的同时,对设置为验签通过的各个事务进行多版本检查操作,以对各个事务的验签操作及多版本检查操作进行并行处理。
3.根据权利要求1或2所述的区块链事务处理的装置,其特征在于,所述处理系统被所述处理器执行时,还实现如下步骤:
若该第一验签结果不正确,则丢弃该第一验签结果及第一多版本检查结果,基于该第二验签结果进行多版本检查得到第二多版本检查结果,并基于该第二多版本检查结果进行事务的持久化处理,以提交并入链保存。
4.根据权利要求3所述的区块链事务处理的装置,其特征在于,所述基于该签名信息获取第二验签结果的步骤为串行处理步骤或者并行处理步骤,若为并行处理步骤,则所述基于该签名信息获取第二验签结果的步骤,具体包括:
获取当前的事务请求秒流量、当前的CPU负载状况信息及预设的处理值,基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU,以基于该签名信息进行动态并行验签,得到该第二验签结果。
5.一种区块链事务处理的方法,其特征在于,所述区块链事务处理的方法包括:
S1,在接收到待入链的区块后,获取该待入链的区块中的各个事务及各个事务对应的签名信息;
S2,对各个事务的验签操作及多版本检查操作进行并行处理,并获取对应的第一验签结果及第一多版本检查结果;
S3,基于该签名信息获取第二验签结果,基于该第二验签结果检查该第一验签结果是否正确;
S4,若该第一验签结果正确,则基于该第一多版本检查结果进行事务的持久化处理,以提交并入链保存。
6.根据权利要求5所述的区块链事务处理的方法,其特征在于,所述第一验签结果为验签通过,所述对各个事务的验签操作及多版本检查操作进行并行处理的步骤,具体包括:
分别将各个事务验签操作的验签结果均设置为验签通过的同时,对设置为验签通过的各个事务进行多版本检查操作,以对各个事务的验签操作及多版本检查操作进行并行处理。
7.根据权利要求5或6所述的区块链事务处理的方法,其特征在于,所述步骤S3之后,还包括:
若该第一验签结果不正确,则丢弃该第一验签结果及第一多版本检查结果,基于该第二验签结果进行多版本检查得到第二多版本检查结果,并基于该第二多版本检查结果进行事务的持久化处理,以提交并入链保存。
8.根据权利要求7所述的区块链事务处理的方法,其特征在于,所述基于该签名信息获取第二验签结果的步骤为串行处理步骤或者并行处理步骤,若为并行处理步骤,则所述基于该签名信息获取第二验签结果的步骤,具体包括:
获取当前的事务请求秒流量、当前的CPU负载状况信息及预设的处理值,基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU,以基于该签名信息进行动态并行验签,得到该第二验签结果。
9.根据权利要求8所述的区块链事务处理的方法,其特征在于,所述CPU负载状况信息包括CPU工作时间比例,所述预设的处理值包括预设的用于验签的CPU的最大数值、预设的验签时间,所述基于该事务请求秒流量、CPU负载状况信息及预设的处理值建立多个线程,基于该多个线程分别将各个事务分配给相应的CPU的步骤,具体包括:
根据该事务请求秒流量及CPU工作时间比例实时分析当前验签所需的时间是否大于该预设的验签时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签的CPU的最大数值;
若当前验签所需的时间大于该预设的验签时间,且该CPU工作时间比例未达到该上限值,以及当前线程的数量小于预设的用于验签的CPU的最大数值,则增加预设数量的线程,以对各个事务进行验签;
若当前验签所需的时间小于等于该预设的验签时间,则继续执行实时分析当前验签所需的时间是否大于该预设的验签时间的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现如权利要求5至9中任一项所述的区块链事务处理的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811250449.8A CN109614206A (zh) | 2018-10-25 | 2018-10-25 | 区块链事务处理的装置、方法及存储介质 |
PCT/CN2018/123582 WO2020082576A1 (zh) | 2018-10-25 | 2018-12-25 | 区块链事务处理的装置、方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811250449.8A CN109614206A (zh) | 2018-10-25 | 2018-10-25 | 区块链事务处理的装置、方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109614206A true CN109614206A (zh) | 2019-04-12 |
Family
ID=66002991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811250449.8A Pending CN109614206A (zh) | 2018-10-25 | 2018-10-25 | 区块链事务处理的装置、方法及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109614206A (zh) |
WO (1) | WO2020082576A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245126A (zh) * | 2019-05-20 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 区块处理方法、装置、计算机设备和存储介质 |
CN110336779A (zh) * | 2019-05-07 | 2019-10-15 | 弦子科技(北京)有限公司 | 一种区块链的构建方法、装置和电子设备 |
CN110781196A (zh) * | 2019-09-06 | 2020-02-11 | 深圳壹账通智能科技有限公司 | 区块链事务处理方法、装置、计算机设备及存储介质 |
CN111126978A (zh) * | 2019-12-28 | 2020-05-08 | 飞天诚信科技股份有限公司 | 一种区块链上快速处理事务的实现方法及装置 |
CN111241594A (zh) * | 2020-01-06 | 2020-06-05 | 平安科技(深圳)有限公司 | 交易信息的加签方法、装置、计算机设备和存储介质 |
CN111586147A (zh) * | 2020-04-30 | 2020-08-25 | 平安科技(深圳)有限公司 | 区块链的节点同步方法、装置、设备及存储介质 |
CN112636915A (zh) * | 2020-11-27 | 2021-04-09 | 杭州趣链科技有限公司 | 基于国密sm2算法的批量签名验证方法、装置、设备及介质 |
CN113139873A (zh) * | 2019-08-30 | 2021-07-20 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
WO2022041901A1 (zh) * | 2020-08-28 | 2022-03-03 | 平安科技(深圳)有限公司 | 数据验证方法、装置及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111985928B (zh) * | 2020-09-03 | 2024-06-25 | 深圳壹账通智能科技有限公司 | 一种验证方法、装置、电子设备和存储介质 |
CN115953243B (zh) * | 2022-12-28 | 2024-03-29 | 北京航天智造科技发展有限公司 | 一种基于区块链的大宗交易管理系统、方法和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395343B (zh) * | 2017-07-10 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 证书管理方法及系统 |
CN107729137B (zh) * | 2017-09-04 | 2021-06-22 | 深圳壹账通智能科技有限公司 | 服务器、区块链验签解密的方法及存储介质 |
CN108063758A (zh) * | 2017-11-27 | 2018-05-22 | 众安信息技术服务有限公司 | 用于区块链网络的签名验证方法及区块链网络中的节点 |
CN107992356B (zh) * | 2017-12-13 | 2021-09-14 | 深圳壹账通智能科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
CN108540459B (zh) * | 2018-03-22 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 数据储存方法、装置、系统、电子设备及计算机可读介质 |
-
2018
- 2018-10-25 CN CN201811250449.8A patent/CN109614206A/zh active Pending
- 2018-12-25 WO PCT/CN2018/123582 patent/WO2020082576A1/zh active Application Filing
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336779A (zh) * | 2019-05-07 | 2019-10-15 | 弦子科技(北京)有限公司 | 一种区块链的构建方法、装置和电子设备 |
CN110336779B (zh) * | 2019-05-07 | 2022-08-05 | 弦子科技(北京)有限公司 | 一种区块链的构建方法、装置和电子设备 |
WO2020233086A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 区块处理方法、装置、计算机设备和存储介质 |
CN110245126A (zh) * | 2019-05-20 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 区块处理方法、装置、计算机设备和存储介质 |
CN113139873A (zh) * | 2019-08-30 | 2021-07-20 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
WO2021042733A1 (zh) * | 2019-09-06 | 2021-03-11 | 深圳壹账通智能科技有限公司 | 区块链事务处理方法、装置、计算机设备及存储介质 |
CN110781196A (zh) * | 2019-09-06 | 2020-02-11 | 深圳壹账通智能科技有限公司 | 区块链事务处理方法、装置、计算机设备及存储介质 |
CN111126978A (zh) * | 2019-12-28 | 2020-05-08 | 飞天诚信科技股份有限公司 | 一种区块链上快速处理事务的实现方法及装置 |
CN111241594A (zh) * | 2020-01-06 | 2020-06-05 | 平安科技(深圳)有限公司 | 交易信息的加签方法、装置、计算机设备和存储介质 |
CN111241594B (zh) * | 2020-01-06 | 2023-10-13 | 平安科技(深圳)有限公司 | 交易信息的加签方法、装置、计算机设备和存储介质 |
CN111586147A (zh) * | 2020-04-30 | 2020-08-25 | 平安科技(深圳)有限公司 | 区块链的节点同步方法、装置、设备及存储介质 |
CN111586147B (zh) * | 2020-04-30 | 2021-09-28 | 平安科技(深圳)有限公司 | 区块链的节点同步方法、装置、设备及存储介质 |
WO2021217849A1 (zh) * | 2020-04-30 | 2021-11-04 | 平安科技(深圳)有限公司 | 区块链的节点同步方法、装置、设备及存储介质 |
WO2022041901A1 (zh) * | 2020-08-28 | 2022-03-03 | 平安科技(深圳)有限公司 | 数据验证方法、装置及存储介质 |
CN112636915A (zh) * | 2020-11-27 | 2021-04-09 | 杭州趣链科技有限公司 | 基于国密sm2算法的批量签名验证方法、装置、设备及介质 |
CN112636915B (zh) * | 2020-11-27 | 2024-03-22 | 杭州趣链科技有限公司 | 基于国密sm2算法的批量签名验证方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020082576A1 (zh) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614206A (zh) | 区块链事务处理的装置、方法及存储介质 | |
CN107729137B (zh) | 服务器、区块链验签解密的方法及存储介质 | |
CN109636592B (zh) | 高性能智能合约设计 | |
WO2019052234A1 (zh) | 产品算法自动化测试方法及应用服务器 | |
CN108845950A (zh) | 测试装置、测试的方法及存储介质 | |
CN109474578A (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN108429783A (zh) | 电子装置、配置文件推送方法及存储介质 | |
CN110362409A (zh) | 基于多种类型的资源分配方法、装置、设备及存储介质 | |
CN109447384A (zh) | 风控系统的验证方法、装置、设备及存储介质 | |
CN110222535B (zh) | 区块链配置文件的处理装置、方法及存储介质 | |
CN105897663A (zh) | 一种确定访问权限的方法、装置及设备 | |
CN107133233B (zh) | 一种配置数据查询的处理方法及装置 | |
CN110677453A (zh) | 基于ZooKeeper的分布式锁服务实现方法、装置、设备及存储介质 | |
CN112651001A (zh) | 访问请求的鉴权方法、装置、设备及可读存储介质 | |
CN108243254A (zh) | 电子装置、应用升级版本发布的方法及存储介质 | |
CN105279029B (zh) | 一种基于作业计算资源的局部存储动态分配方法 | |
CN108241616B (zh) | 消息推送方法和装置 | |
CN111737351A (zh) | 分布式管理系统事务管理方法及装置 | |
US20150212904A1 (en) | Method and computing device for recording log entries | |
CN112465604A (zh) | 一种分发订单的方法、装置、计算机设备及计算机可读存储介质 | |
CN108428182A (zh) | 开发平台装置、获取保单号的方法及计算机可读存储介质 | |
CN113726675A (zh) | 流量管理方法、装置、设备和存储介质 | |
CN110399290A (zh) | 消息推送的测试装置、方法及存储介质 | |
CN109688158A (zh) | 金融执行链认证方法、电子装置及存储介质 | |
CN113467960B (zh) | 基于共享锁的多路径存储方法、系统、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1263041 Country of ref document: HK |
|
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: 20190412 |
|
RJ01 | Rejection of invention patent application after publication |