CN107729137B - 服务器、区块链验签解密的方法及存储介质 - Google Patents

服务器、区块链验签解密的方法及存储介质 Download PDF

Info

Publication number
CN107729137B
CN107729137B CN201710785663.2A CN201710785663A CN107729137B CN 107729137 B CN107729137 B CN 107729137B CN 201710785663 A CN201710785663 A CN 201710785663A CN 107729137 B CN107729137 B CN 107729137B
Authority
CN
China
Prior art keywords
signature verification
decryption
transaction
verification decryption
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.)
Active
Application number
CN201710785663.2A
Other languages
English (en)
Other versions
CN107729137A (zh
Inventor
褚镇飞
陆陈一帆
张松松
段宣斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201710785663.2A priority Critical patent/CN107729137B/zh
Priority to PCT/CN2018/075879 priority patent/WO2019041759A1/zh
Publication of CN107729137A publication Critical patent/CN107729137A/zh
Application granted granted Critical
Publication of CN107729137B publication Critical patent/CN107729137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Abstract

本发明涉及一种服务器、区块链验签解密的方法及存储介质,该方法包括:在接收到区块链排序节点打包的事务块后,对所述事务块进行解析,以获取该事务块中的各个事务;获取当前的事务请求秒流量、所述服务器的CPU当前的负载状况信息及预设的处理值,基于当前的事务请求秒流量、所述负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将所述事务分配给所述CPU进行动态并行验签解密;在完成验签解密后,收集该多个线程中的进行验签解密后的事务,对验签解密后的事务执行多版本检查和事务持久化处理后,以进行提交。本发明通过多线程对事务进行并行动态验签解密,消除事务提交的瓶颈,提升事务处理速度及服务器性能。

Description

服务器、区块链验签解密的方法及存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种服务器、区块链验签解密的方法及存储介质。
背景技术
目前,区块链事务被打包成块的形式发送给区块链节点,由节点解开块,获取其中的事务,根据分布式数据库的需要,利用单线程进行验签并按序对每个事务执行提交过程。在系统较繁忙且产生事务较多时,事务提交的速度往往滞后于事务产生的速度,成为整个系统的瓶颈。
发明内容
本发明的目的在于提供一种服务器、区块链验签解密的方法及存储介质,旨在通过多线程对事务进行并行动态验签解密,消除事务提交的瓶颈,提升事务处理速度及服务器性能。
为实现上述目的,本发明提供一种服务器,所述服务器为区块链数据节点,所述服务器包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的验签解密系统,所述验签解密系统被所述处理器执行时实现如下步骤:
事务解析步骤,在接收到区块链排序节点打包的事务块后,对所述事务块进行解析,以获取该事务块中的各个事务;
多线程验签解密步骤,获取当前的事务请求秒流量、所述服务器的CPU当前的负载状况信息及预设的处理值,基于当前的事务请求秒流量、所述负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将所述事务分配给所述CPU进行动态并行验签解密;
事务收集处理步骤,在完成验签解密后,收集该多个线程中的进行验签解密后的事务,对验签解密后的事务执行多版本检查和事务持久化处理后,以进行提交。
优选地,所述负载状况信息包括CPU工作时间比例,预设的处理值包括预设的用于验签解密的CPU的最大数值、预设的验签解密时间,所述多线程验签解密步骤包括:
根据当前的事务请求秒流量及CPU工作时间比例实时分析当前验签解密所需的时间是否大于该预设的验签解密时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签解密的CPU的最大数值;
若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量小于预设的用于验签解密的CPU的最大数值,则增加预设数量的线程,以对所述事务进行验签解密。
优选地,所述多线程验签解密步骤还包括:
若当前验签解密所需的时间小于等于该预设的验签解密时间,则返回实时分析当前验签解密所需的时间是否大于该预设的验签解密时间的步骤。
优选地,各个事务预先标识有处理顺序,所述事务收集处理步骤包括:
在完成验签解密后,收集该多个线程中的进行验签解密后的事务,按照所述处理顺序将进行验签解密后的事务进行排序,对排序后的事务执行多版本检查和事务持久化处理后,以进行提交。
为实现上述目的,本发明还提供一种区块链验签解密的方法,所述区块链验签解密的方法包括:
事务解析步骤,在接收到区块链排序节点打包的事务块后,对所述事务块进行解析,以获取该事务块中的各个事务;
多线程验签解密步骤,获取当前的事务请求秒流量、所述服务器的CPU当前的负载状况信息及预设的处理值,基于当前的事务请求秒流量、所述负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将所述事务分配给所述CPU进行动态并行验签解密;
事务收集处理步骤,在完成验签解密后,收集该多个线程中的进行验签解密后的事务,对验签解密后的事务执行多版本检查和事务持久化处理后,以进行提交。
优选地,所述负载状况信息包括CPU工作时间比例,预设的处理值包括预设的用于验签解密的CPU的最大数值、预设的验签解密时间,所述多线程验签解密步骤包括:
根据当前的事务请求秒流量及CPU工作时间比例实时分析当前验签解密所需的时间是否大于该预设的验签解密时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签解密的CPU的最大数值;
若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量小于预设的用于验签解密的CPU的最大数值,则增加预设数量的线程,以对所述事务进行验签解密。
优选地,所述多线程验签解密步骤还包括:
若当前验签解密所需的时间小于等于该预设的验签解密时间,则返回实时分析当前验签解密所需的时间是否大于该预设的验签解密时间的步骤。
优选地,各个事务预先标识有处理顺序,所述事务收集处理步骤包括:
在完成验签解密后,收集该多个线程中的进行验签解密后的事务,按照所述处理顺序将进行验签解密后的事务进行排序,对排序后的事务执行多版本检查和事务持久化处理后,以进行提交。
优选地,所述事务包括对数据库中的数据进行编辑的操作。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有验签解密系统,所述验签解密系统被处理器执行时实现上述的区块链验签解密的方法的步骤。
本发明的有益效果是:本发明对接收到的事务块进行解析以获取事务,基于当前的事务请求秒流量、负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将事务分配给CPU进行验签解密,并在在完成验签解密后,按照处理顺序将进行验签解密后的事务进行排序以进行提交,本发明通过多线程对事务进行并行动态验签解密,使得事务提交的瓶颈得以消除,尤其在多核CPU的服务器上,性能提升更加显著,大大提高事务处理速度。
附图说明
图1为本发明各个实施例一可选的应用环境示意图;
图2为本发明区块链验签解密的方法一实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明区块链验签解密的方法的较佳实施例的应用环境示意图。该应用环境示意图包括服务器1、服务器2及终端设备3。服务器1与服务器2通过网络进行数据交互,服务器2可以通过网络、近场通信技术等适合的技术与终端设备3进行数据交互。服务器1为区块链数据节点,服务器2为区块链排序节点。
所述终端设备3包括,但不限于,任何一种可与用户通过键盘、鼠标、遥控器、触摸板或者声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(InternetProtocol Television,IPTV)、智能式穿戴式设备、导航装置等等的可移动设备,或者诸如数字TV、台式计算机、笔记本、服务器等等的固定终端。终端设备3用于向服务器2发出打包事务块的指令。
所述服务器2用于将事务打包为事务块然后发送给服务器1。
所述服务器1或服务器2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述服务器1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,服务器1可包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的验签解密系统。需要指出的是,图1仅示出了具有组件11-13的服务器1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为服务器1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是服务器1的内部存储单元,例如该服务器1的硬盘;在另一些实施例中,该非易失性存储介质也可以是服务器1的外部存储设备,例如服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于服务器1的操作系统和各类应用软件,例如本发明一实施例中的验签解密系统的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述服务器1的总体操作,例如执行与所述服务器2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行验签解密系统等。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述服务器1与其他电子设备之间建立通信连接。本实施例中,网络接口13主要用于将服务器1与服务器2相连,在服务器1与服务器2之间建立数据传输通道和通信连接。
所述验签解密系统存储在存储器11中,包括至少一个存储在存储器11中的计算机可读指令,该至少一个计算机可读指令可被处理器器12执行,以实现本申请各实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
在一实施例中,上述验签解密系统被所述处理器12执行时实现如下步骤:
事务解析步骤,在接收到区块链排序节点打包的事务块后,对所述事务块进行解析,以获取该事务块中的各个事务,其中,各个事务预先标识有处理顺序;
在区块链网络中,区块链排序节点将预先标识有处理顺序的各个事务打包成事务块的形式,然后将事务块发送给区块链数据节点。由区块链数据节点逐个事务块进行验签解密。
其中,事务例如为数据库中的数据相关的操作,包括数据的修改操作、数据的删除操作等,当然也可以是其他的操作。将各个事务标识对应的处理顺序,例如可以按照数字“1、2、3…”的顺序对事务进行标识,或者按照字母“a、b、c…”的顺序对事务进行标识,等等,对事务块解析后得到各个事务。
多线程验签解密步骤,获取当前的事务请求秒流量、所述服务器的CPU当前的负载状况信息及预设的处理值,基于当前的事务请求秒流量、所述负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将所述事务分配给所述CPU进行动态并行验签解密;
其中,本实施例的CPU与处理器12同为服务器1的中央处理器,处理器12主要用于运行验签解密系统,CPU有多个,主要用于对事务进行验签解密。
其中,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的数量。
事务收集处理步骤,在完成验签解密后,收集该多个线程中的进行验签解密后的事务,对验签解密后的事务执行多版本检查和事务持久化处理后,以进行提交。
本实施例中,由于每个事务标识有处理顺序,在完成验签解密后,收集该多个线程中的进行验签解密后的事务,按照事务标识的处理顺序对其进行排序,基于数据库的标准处理方法对排序后的事务进行多版本检查,然后将检查后的事务进行事务持久化处理,即将其进行存储,最后提交。
与现有技术相比,本实施例对接收到的事务块进行解析以获取事务,基于当前的事务请求秒流量、负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将事务分配给CPU进行验签解密,并在在完成验签解密后,按照处理顺序将进行验签解密后的事务进行排序以进行提交,本实施例通过多线程对事务进行并行动态验签解密,使得事务提交的瓶颈得以消除,尤其在多核CPU的服务器上,性能提升更加显著,大大提高事务处理速度。
在一优选的实施例中,在上述的图1的实施例的基础上,上述多线程验签解密步骤包括:
根据当前的事务请求秒流量及CPU工作时间比例实时分析当前验签解密所需的时间是否大于该预设的验签解密时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签解密的CPU的最大数值;
若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量小于预设的用于验签解密的CPU的最大数值,则增加预设数量的线程,以对所述事务进行验签解密,且返回上述的根据当前的事务请求秒流量及CPU工作时间比例实时分析当前验签解密所需的时间是否大于该预设的验签解密时间的步骤,以实时对验签解密过程进行监控。
本实施例中,CPU工作时间比例的上限值优选为50%或者为66%。在验签解密的过程中进行实时监控及动态调整:在实时分析得出当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量小于预设的用于验签解密的CPU的最大数值时,则增加预设数量的线程,例如增加5个线程,基于所有的线程将事务分配给CPU进行验签解密。
本实施例基于多线程对事务进行并行验签解密,并在验签解密的过程中进行实时监控及线程数量的动态调整,进一步提高事务处理速度,提升服务器的性能。
优选地,上述多线程验签解密步骤包括:若当前验签解密所需的时间小于等于该预设的验签解密时间,则返回实时分析当前验签解密所需的时间是否大于该预设的验签解密时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签解密的CPU的最大数值的步骤,以实时对验签解密过程进行监控。
优选地,若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例达到上限值,则按照当前的线程的数量对事务进行验签解密,同时返回上述实时分析的步骤,以实时对验签解密过程进行监控;以及
若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量等于预设的用于验签解密的CPU的最大数值,则按照当前的线程的数量对事务进行验签解密,同时返回上述实时分析的步骤,以实时对验签解密过程进行监控。
如图2所示,图2为本发明区块链验签解密的方法一实施例的流程示意图,该区块链验签解密的方法包括以下步骤:
S1,事务解析步骤,在接收到区块链排序节点打包的事务块后,对所述事务块进行解析,以获取该事务块中的各个事务;
在区块链网络中,区块链排序节点将预先标识有处理顺序的各个事务打包成事务块的形式,然后将事务块发送给区块链数据节点。由区块链数据节点逐个事务块进行验签解密。
其中,事务例如为数据库中的数据相关的操作,包括数据的修改操作、数据的删除操作等,当然也可以是其他的操作。将各个事务标识对应的处理顺序,例如可以按照数字“1、2、3…”的顺序对事务进行标识,或者按照字母“a、b、c…”的顺序对事务进行标识,等等,对事务块解析后得到各个事务。
S2,多线程验签解密步骤,获取当前的事务请求秒流量、所述服务器的CPU当前的负载状况信息及预设的处理值,基于当前的事务请求秒流量、所述负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将所述事务分配给所述CPU进行动态并行验签解密;
其中,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的数量。
S3,事务收集处理步骤,在完成验签解密后,收集该多个线程中的进行验签解密后的事务,对验签解密后的事务执行多版本检查和事务持久化处理后,以进行提交。
本实施例中,由于每个事务标识有处理顺序,在完成验签解密后,收集该多个线程中的进行验签解密后的事务,按照事务标识的处理顺序对其进行排序,基于数据库的标准处理方法对排序后的事务进行多版本检查,然后将检查后的事务进行事务持久化处理,即将其进行存储,最后提交。
与现有技术相比,本实施例对接收到的事务块进行解析以获取事务,基于当前的事务请求秒流量、负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将事务分配给CPU进行验签解密,并在在完成验签解密后,按照处理顺序将进行验签解密后的事务进行排序以进行提交,本实施例通过多线程对事务进行并行动态验签解密,使得事务提交的瓶颈得以消除,尤其在多核CPU的服务器上,性能提升更加显著,大大提高事务处理速度。
在一优选的实施例中,在上述的图2的实施例的基础上,上述多线程验签解密步骤包括:
根据当前的事务请求秒流量及CPU工作时间比例实时分析当前验签解密所需的时间是否大于该预设的验签解密时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签解密的CPU的最大数值;
若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量小于预设的用于验签解密的CPU的最大数值,则增加预设数量的线程,以对所述事务进行验签解密,且返回上述的根据当前的事务请求秒流量及CPU工作时间比例实时分析当前验签解密所需的时间是否大于该预设的验签解密时间的步骤,以实时对验签解密过程进行监控。
本实施例中,CPU工作时间比例的上限值优选为50%或者为66%。在验签解密的过程中进行实时监控及动态调整:在实时分析得出当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量小于预设的用于验签解密的CPU的最大数值时,则增加预设数量的线程,例如增加5个线程,基于所有的线程将事务分配给CPU进行验签解密。
本实施例基于多线程对事务进行并行验签解密,并在验签解密的过程中进行实时监控及线程数量的动态调整,进一步提高事务处理速度,提升服务器的性能。
优选地,上述多线程验签解密步骤包括:若当前验签解密所需的时间小于等于该预设的验签解密时间,则返回实时分析当前验签解密所需的时间是否大于该预设的验签解密时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签解密的CPU的最大数值的步骤,以实时对验签解密过程进行监控。
优选地,若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例达到上限值,则按照当前的线程的数量对事务进行验签解密,同时返回上述实时分析的步骤,以实时对验签解密过程进行监控;以及
若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量等于预设的用于验签解密的CPU的最大数值,则按照当前的线程的数量对事务进行验签解密,同时返回上述实时分析的步骤,以实时对验签解密过程进行监控。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有验签解密系统,所述验签解密系统被处理器执行时实现上述的区块链验签解密的方法的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种服务器,所述服务器为区块链数据节点,其特征在于,所述服务器包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的验签解密系统,所述验签解密系统被所述处理器执行时实现如下步骤:
事务解析步骤,在接收到区块链排序节点打包的事务块后,对所述事务块进行解析,以获取该事务块中的各个事务,事务包括但不限于数据的修改操作、数据的删除操作;
多线程验签解密步骤,获取当前的事务请求秒流量、所述服务器的CPU当前的负载状况信息及预设的处理值,基于当前的事务请求秒流量、所述负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将所述事务分配给所述CPU进行动态并行验签解密,所述负载状况信息包括CPU工作时间比例,预设的处理值包括预设的用于验签解密的CPU的最大数值、预设的验签解密时间,所述多线程验签解密步骤包括:
根据当前的事务请求秒流量及CPU工作时间比例实时分析当前验签解密所需的时间是否大于该预设的验签解密时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签解密的CPU的最大数值;
若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量小于预设的用于验签解密的CPU的最大数值,则增加预设数量的线程,以对所述事务进行验签解密;
事务收集处理步骤,在完成验签解密后,收集该多个线程中的进行验签解密后的事务,对验签解密后的事务执行多版本检查和事务持久化处理后,以进行提交。
2.根据权利要求1所述的服务器,其特征在于,所述多线程验签解密步骤还包括:
若当前验签解密所需的时间小于等于该预设的验签解密时间,则返回实时分析当前验签解密所需的时间是否大于该预设的验签解密时间的步骤。
3.根据权利要求1或2所述的服务器,其特征在于,各个事务预先标识有处理顺序,所述事务收集处理步骤包括:
在完成验签解密后,收集该多个线程中的进行验签解密后的事务,按照所述处理顺序将进行验签解密后的事务进行排序,对排序后的事务执行多版本检查和事务持久化处理后,以进行提交。
4.一种区块链验签解密的方法,其特征在于,所述区块链验签解密的方法包括:
事务解析步骤,在接收到区块链排序节点打包的事务块后,对所述事务块进行解析,以获取该事务块中的各个事务,事务包括但不限于数据的修改操作、数据的删除操作;
多线程验签解密步骤,获取当前的事务请求秒流量、服务器的CPU当前的负载状况信息及预设的处理值,基于当前的事务请求秒流量、所述负载状况信息及预设的处理值建立多个线程,基于建立的多个线程将所述事务分配给所述CPU进行动态并行验签解密,所述负载状况信息包括CPU工作时间比例,预设的处理值包括预设的用于验签解密的CPU的最大数值、预设的验签解密时间,所述多线程验签解密步骤包括:
根据当前的事务请求秒流量及CPU工作时间比例实时分析当前验签解密所需的时间是否大于该预设的验签解密时间,且实时分析CPU的工作时间比例是否达到上限值,以及分析当前线程的数量是否小于预设的用于验签解密的CPU的最大数值;
若当前验签解密所需的时间大于该预设的验签解密时间,且CPU工作时间比例未达到上限值,以及当前线程的数量小于预设的用于验签解密的CPU的最大数值,则增加预设数量的线程,以对所述事务进行验签解密;
事务收集处理步骤,在完成验签解密后,收集该多个线程中的进行验签解密后的事务,对验签解密后的事务执行多版本检查和事务持久化处理后,以进行提交。
5.根据权利要求4所述的区块链验签解密的方法,其特征在于,所述多线程验签解密步骤还包括:
若当前验签解密所需的时间小于等于该预设的验签解密时间,则返回实时分析当前验签解密所需的时间是否大于该预设的验签解密时间的步骤。
6.根据权利要求4或5所述的区块链验签解密的方法,其特征在于,各个事务预先标识有处理顺序,所述事务收集处理步骤包括:
在完成验签解密后,收集该多个线程中的进行验签解密后的事务,按照所述处理顺序将进行验签解密后的事务进行排序,对排序后的事务执行多版本检查和事务持久化处理后,以进行提交。
7.根据权利要求4所述的区块链验签解密的方法,其特征在于,所述事务包括对数据库中的数据进行编辑的操作。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有验签解密系统,所述验签解密系统被处理器执行时实现如权利要求4至7中任一项所述的区块链验签解密的方法的步骤。
CN201710785663.2A 2017-09-04 2017-09-04 服务器、区块链验签解密的方法及存储介质 Active CN107729137B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710785663.2A CN107729137B (zh) 2017-09-04 2017-09-04 服务器、区块链验签解密的方法及存储介质
PCT/CN2018/075879 WO2019041759A1 (zh) 2017-09-04 2018-02-08 服务器、区块链验签解密的方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710785663.2A CN107729137B (zh) 2017-09-04 2017-09-04 服务器、区块链验签解密的方法及存储介质

Publications (2)

Publication Number Publication Date
CN107729137A CN107729137A (zh) 2018-02-23
CN107729137B true CN107729137B (zh) 2021-06-22

Family

ID=61205649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710785663.2A Active CN107729137B (zh) 2017-09-04 2017-09-04 服务器、区块链验签解密的方法及存储介质

Country Status (2)

Country Link
CN (1) CN107729137B (zh)
WO (1) WO2019041759A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471755A (zh) * 2018-05-09 2019-11-19 厦门本能管家科技有限公司 一种多进程打块方法及系统
CN109614206A (zh) * 2018-10-25 2019-04-12 深圳壹账通智能科技有限公司 区块链事务处理的装置、方法及存储介质
CN110245006B (zh) * 2019-05-07 2023-05-02 深圳壹账通智能科技有限公司 区块链事务的处理方法、装置、设备及存储介质
CN110245126A (zh) * 2019-05-20 2019-09-17 深圳壹账通智能科技有限公司 区块处理方法、装置、计算机设备和存储介质
CN110175070B (zh) * 2019-05-21 2021-10-29 网易(杭州)网络有限公司 分布式数据库的管理方法、装置、系统、介质及电子设备
CN110659905B (zh) * 2019-09-20 2023-09-22 腾讯科技(深圳)有限公司 交易验证方法、装置、终端设备以及存储介质
CN111241594B (zh) * 2020-01-06 2023-10-13 平安科技(深圳)有限公司 交易信息的加签方法、装置、计算机设备和存储介质
CN112215601B (zh) * 2020-05-29 2022-09-30 支付宝(杭州)信息技术有限公司 基于区块链的业务处理方法、业务处理方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053859A (zh) * 2009-11-09 2011-05-11 中国移动通信集团甘肃有限公司 批量数据处理的方法与装置
CN105068861A (zh) * 2015-07-09 2015-11-18 合肥君正科技有限公司 一种事务执行方法及装置
CN105630609A (zh) * 2016-02-24 2016-06-01 杭州复杂美科技有限公司 区块链的打包存储方法
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10219731A1 (de) * 2002-05-02 2003-11-20 Giesecke & Devrient Gmbh Verfahren zur Ausführung einer Datentransaktion mittels einer aus einer Haupt- und einer trennbaren Hilfskomponente bestehenden Transaktionsvorrichtung
US10255108B2 (en) * 2016-01-26 2019-04-09 International Business Machines Corporation Parallel execution of blockchain transactions
CN106548330B (zh) * 2016-10-27 2018-03-16 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统
CN107018180B (zh) * 2017-03-22 2019-11-15 南京理工大学 基于jseda的智能交通大数据平台分发共享系统
CN107040422B (zh) * 2017-04-25 2020-05-05 浙江工业大学 一种基于物化缓存的网络大数据可视化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053859A (zh) * 2009-11-09 2011-05-11 中国移动通信集团甘肃有限公司 批量数据处理的方法与装置
CN105068861A (zh) * 2015-07-09 2015-11-18 合肥君正科技有限公司 一种事务执行方法及装置
CN105630609A (zh) * 2016-02-24 2016-06-01 杭州复杂美科技有限公司 区块链的打包存储方法
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法

Also Published As

Publication number Publication date
CN107729137A (zh) 2018-02-23
WO2019041759A1 (zh) 2019-03-07

Similar Documents

Publication Publication Date Title
CN107729137B (zh) 服务器、区块链验签解密的方法及存储介质
CN108848039B (zh) 服务器、消息分配的方法及存储介质
CN108462760B (zh) 电子装置、集群访问域名自动生成方法及存储介质
WO2020082576A1 (zh) 区块链事务处理的装置、方法及存储介质
US20140289286A1 (en) System and method for performance tuning of garbage collection algorithms
CN111209310B (zh) 基于流计算的业务数据处理方法、装置和计算机设备
CN108900434A (zh) 数据收集分发方法及装置
CN112860737B (zh) 数据查询方法、装置、电子设备及可读存储介质
CN109597810B (zh) 一种任务切分方法、装置、介质及电子设备
CN109447384A (zh) 风控系统的验证方法、装置、设备及存储介质
CN104767761A (zh) 一种云存储平台访问控制方法及装置
CN114996675A (zh) 数据查询方法、装置、计算机设备及存储介质
CN113010542A (zh) 业务数据处理方法、装置、计算机设备及存储介质
CN111277626B (zh) 服务器升级方法、装置、电子设备及介质
CN103780592A (zh) 一种用户账号被盗确定方法及装置
CN104899495A (zh) 生物识别系统
CN108241732B (zh) 电子装置、信息处理的方法及存储介质
CN113590703B (zh) Es数据导入方法、装置、电子设备及可读存储介质
CN115378806A (zh) 流量分配方法、装置、计算机设备及存储介质
CN112256760B (zh) 一种数据预测方法、装置、计算机设备及存储介质
CN204680025U (zh) 生物识别系统
CN114266072A (zh) 一种权限分配控制方法、装置、电子设备及存储介质
CN112685199A (zh) 一种消息队列修复方法、装置、计算机设备及存储介质
CN110420458A (zh) 游戏请求处理方法及装置
CN110769027A (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
TA01 Transfer of patent application right

Effective date of registration: 20180528

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 200030 Xuhui District, Shanghai Kai Bin Road 166, 9, 10 level.

Applicant before: Shanghai Financial Technologies Ltd

TA01 Transfer of patent application right
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1250063

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant