CN110245147B - 区块链数据处理方法、装置、可读存储介质和计算机设备 - Google Patents

区块链数据处理方法、装置、可读存储介质和计算机设备 Download PDF

Info

Publication number
CN110245147B
CN110245147B CN201910530660.3A CN201910530660A CN110245147B CN 110245147 B CN110245147 B CN 110245147B CN 201910530660 A CN201910530660 A CN 201910530660A CN 110245147 B CN110245147 B CN 110245147B
Authority
CN
China
Prior art keywords
current
pressure measurement
transaction
target transaction
single block
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
CN201910530660.3A
Other languages
English (en)
Other versions
CN110245147A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910530660.3A priority Critical patent/CN110245147B/zh
Publication of CN110245147A publication Critical patent/CN110245147A/zh
Application granted granted Critical
Publication of CN110245147B publication Critical patent/CN110245147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/23Updating
    • 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
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Computing Systems (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)
  • Feedback Control In General (AREA)

Abstract

本申请涉及一种区块链数据处理方法、装置、可读存储介质和计算机设备,该方法包括:对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量;获取目标交易吞吐量,确定所述当前交易吞吐量和所述目标交易吞吐量的误差;根据反馈调节算法对所述误差进行处理,得到控制值;将所述控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量;根据所述单个区块的目标交易时间和单个区块中的目标交易数量更新所述当前区块链。本方案解决了传统区块链性能调节的方式需要重新构建技术架构的周期长且成本高问题。

Description

区块链数据处理方法、装置、可读存储介质和计算机设备
技术领域
本申请涉及区块链技术领域,特别是涉及一种区块链数据处理方法、装置、计算机可读存储介质和计算机设备。
背景技术
区块链是一种分布式数据存储机制,是一串使用密码学方法链接的数据块,每一个数据块中记录了一批当时网络交易的信息。历史数据的增量扩充和服务资源的消耗占用等,往往会导致区块链的性能降低。
传统的提高区块链性能的方法一般是通过重新构建区块链的技术框架,但是技术框架的重构往往经历前期调研、技术方案评估、预演、开发测试、实施和升级等流程,周期长,成本高。
发明内容
基于此,有必要针对重构区块链的技术框架的成本高的技术问题,提供一种区块链数据处理方法、装置、计算机可读存储介质和计算机设备。
一种区块链数据处理方法,包括:
对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量;
获取目标交易吞吐量,确定所述当前交易吞吐量和所述目标交易吞吐量的误差;
根据反馈调节算法对所述误差进行处理,得到控制值;
将所述控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量;
根据所述单个区块的目标交易时间和单个区块中的目标交易数量更新所述当前区块链。
一种区块链数据处理装置,所述装置包括:
压测模块,用于对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量;
确定模块,用于获取目标交易吞吐量,确定所述当前交易吞吐量和所述目标交易吞吐量的误差;
处理模块,用于根据反馈调节算法对所述误差进行处理,得到控制值;
修正模块,用于将所述控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量;
更新模块,用于根据所述单个区块的目标交易时间和单个区块中的目标交易数量更新所述当前区块链。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
上述区块链数据处理方法、装置、计算机可读存储介质和计算机设备,通过对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量,从而确定当前区块链的处理性能。获取目标交易吞吐量,确定当前交易吞吐量和目标交易吞吐量的误差,从而确定当前的测得值和需要达到的目标值之间存在的差距。根据反馈调节算法对误差进行处理,得到控制值,通过反馈调节算法处理误差,得到需要调节的值。将控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量,可以得到当前区块链从当前交易吞吐量达到目标交易吞吐量需要达到的单个区块的目标交易时间和单个区块中的目标交易数量,即从当前性能达到目标性需要调整的性能指标。根据单个区块的目标交易时间和单个区块中的目标交易数量更新当前区块链,使得更新后的当前区块链的交易吞吐量达到目标吞吐量。本方案解决了传统区块链性能调节的方式需要重新构建技术架构的周期长且成本高问题。
附图说明
图1为一个实施例中区块链数据处理方法的应用环境图;
图2为一个实施例中区块链数据处理方法的流程示意图;
图3为一个实施例中参数修正处理步骤的流程示意图;
图4为一个实施例中对当前区块链进行压测处理的步骤的流程示意图;
图5为另一个实施例中区块链数据处理方法的流程示意图;
图6为另一个实施例中对当前区块链进行压测处理的步骤的流程示意图;
图7为一个实施例中更新当前区块链的示意图;
图8为其中一个实施例中区块链数据处理方法的流程示意图;
图9为一个实施例中区块链数据处理的拟合曲线示意图;
图10为一个实施例中该区块链数据处理的架构图;
图11为一个实施例中区块链数据处理装置的结构框图;
图12为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中区块链数据处理方法的应用环境图。参照图1,该区块链数据处理方法应用于区块链数据处理系统。该区块链数据处理系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110接收到调整当前区块链的交易吞吐量的指令时,将目标交易吞吐量发送给服务器120。服务器120接收终端110发送的目标交易吞吐量,对当前区块链进行压测处理,得到该当前区块链的当前交易吞吐量,并确定该当前交易吞吐量和该目标交易吞吐量的误差。接着根据反馈调节算法对该误差进行处理,得到控制值,将该控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量,根据该单个区块的目标交易时间和单个区块中的目标交易数量更新该当前区块链。接着,服务器按照预设时间间隔对更新后的当前区块链再次进行压测处理,得到当前交易吞吐量,当当前区块链的当前交易吞吐量达到目标交易吞吐量时,停止对当前区块链的压测处理,从而实现了对当前区块链的性能的调节。
如图2所示,在一个实施例中,提供了一种区块链数据处理方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该区块链数据处理方法具体包括如下步骤:
步骤202,对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量。
其中,当前区块链是指要调节性能的目标区块链。压测即压力测试,是约定系统稳定性的测试方法。交易吞吐量是指系统服务器每秒钟能够处理通过的交易数,简称TPS。当前交易吞吐量是指当前的检测的服务器每秒钟能够处理通过的交易数。
具体地,服务器确定需要测试和调节性能的区块链,即当前区块链。接着,服务器可通过压测引擎对当前区块链进行测试,从测试结果中获取当前区块链的当前交易吞吐量。
步骤204,获取目标交易吞吐量,确定当前交易吞吐量和目标交易吞吐量的误差。
其中,目标交易吞吐量指预先设置的系统服务器每秒钟能够处理通过的交易数,目标交易吞吐量为目标值。误差是指测得值和目标值之间的差值。
具体地,服务器获取预先设置的目标交易吞吐量,将压测得到的当前区块链的当前交易吞吐量和目标交易吞吐量作差,以确定当前交易吞吐量和目标交易吞吐量之间的误差,从而确定测得值和目标值之间存在的误差。
步骤206,根据反馈调节算法对误差进行处理,得到控制值。
其中,反馈调节算法是指将反馈值作为输入以调节得到目标值的算法。例如,当前区块链的当前交易吞吐量和目标交易吞吐量之间的误差作为反馈值,目标交易吞吐量作为要达到的目标值。控制值是指反馈调节算法对误差进行处理后得到的值。
具体地,服务器获取反馈调节算法,根据反馈调节算法对当前交易吞吐量和目标交易吞吐量之间的误差进行处理,输出控制值。
步骤208,将控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量。
其中,参数修正是指对区块链内存中存储的单个区块的交易时间和单个区块中的交易数量这两个配置项按照比例映射的方式重新设置。单个区块的目标交易时间即当前区块链需要达到的目标出块时间,是指当前区块链处理完一个区块中的交易所需的时间。单个区块中的目标交易数量即当前区块链需要达到的出块大小,是指一个区块中存储的交易数量。单个区块的目标交易时间和单个区块中的目标交易数量为判断区块链性能的两个性能指标。
具体地,服务器可获取参数修正算法,通过参数修正算法对控制值进行修正处理,得到两个值。该两个值即为单个区块的目标交易时间和单个区块中的目标交易数量。
步骤210,根据单个区块的目标交易时间和单个区块中的目标交易数量更新当前区块链。
具体地,服务器将单个区块的目标交易时间和单个区块中的目标交易数量作为两个配置项,存储到当前区块链中,使得当前区块链更新原来的配置项,并按照单个区块的目标交易时间和单个区块中的目标交易数量处理数据。
上述区块链数据处理方法,对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量,从而确定当前区块链的处理性能。获取目标交易吞吐量,确定当前交易吞吐量和目标交易吞吐量的误差,从而确定当前的测得值和需要达到的目标值之间存在的差距。根据反馈调节算法对误差进行处理,得到控制值,通过反馈调节算法处理误差,得到需要调节的值。将控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量,可以得到当前区块链从当前交易吞吐量达到目标交易吞吐量需要达到的单个区块的目标交易时间和单个区块中的目标交易数量,即从当前性能达到目标性需要调整的性能指标。根据单个区块的目标交易时间和单个区块中的目标交易数量更新当前区块链,使得更新后的当前区块链的交易吞吐量达到目标吞吐量。本方案对区块链的性能调节并不涉及区块链的技术架构,解决了传统区块链性能调节的方式需要重新构建技术架构的周期长且成本高问题。
在一个实施例中,如图3所示,该将该控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量,包括:
步骤302,获取比例映射系数,该比例映射系数包括第一比例映射系数和第二比例映射系数。
步骤304,根据控制值、误差和第一比例映射系数,得到单个区块的目标交易时间。
具体地,服务器得到控制值后,获取比例映射算法和该比例映射算法的第一比例映射系数和第二比例映射系数。接着,服务器将控制值和当前交易吞吐量与目标交易吞吐量的误差输入到比例映射系数为第一比例映射系数的比例映射算法中,计算得到单个区块的目标交易时间。
步骤306,根据控制值、误差和第二比例映射系数,得到单个区块中的目标交易数量。
具体地,服务器将控制值和当前交易吞吐量与目标交易吞吐量的误差输入到比例映射系数为第二比例映射系数的比例映射算法中,计算得到单个区块中的目标交易数量。
例如,比例映射算法为y=Ak+B,y1为单个区块的目标交易时间,A为通过反馈调节算法得到的控制值,k1为第一比例映射系数。y2为单个区块的目标交易时间,k2为第一比例映射系数。b为当前区块链的当前交易吞吐量与目标交易吞吐量的误差。服务器将得到的控制值输入公式y=Ak+B,并输入比例映射系数,得到对应的y值,从而得到单个区块的目标交易时间和单个区块中的目标交易数量。
上述区块链数据处理方法中,通过获取比例映射系数,根据控制值、误差和第一比例映射系数,得到单个区块的目标交易时间,以及根据控制值、误差和第二比例映射系数,得到单个区块中的目标交易数量,使得能够根据反馈调节算法输出的一个值处理得到新的出块时间和出块大小,从而能够对当前区块链中的出块时间和出块大小这两个配置项按照比例映射的方式重新设置。
在一个实施例中,该根据该单个区块的目标交易时间和单个区块中的目标交易数量更新该当前区块链,包括:确定当前区块链的单个区块的当前交易时间和单个区块中的当前交易数量;将当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为单个区块的目标交易时间和单个区块中的目标交易数量。
其中,单个区块的当前交易时间即当前出块时间,是指服务器处理当前区块链中的一个区块中的交易所需要的时间,该时间是指从服务器开始处理时的时间戳到处理结束时的时间戳之间的时间间隔。单个区块中的当前交易数量即当前出块大小,是指当前区块链中的一个区块中所存储的交易数量。例如,当前区块链中的一个区块中存储了100笔,服务器处理完这100笔交易需要1秒,则单个区块的当前交易时间即为1秒,单个区块中的当前交易数量为100。单个区块的当前交易时间和单个区块中的当前交易数量为判断当前区块链的性能的两个指标。
具体地,服务器通过对当前区块链的压测处理,得到当前区块链的单个区块的当前交易时间和单个区块中的当前交易数量。服务器可确定当前区块链的节点数量,一个区块链中可存在多个节点,每个节点中存储相同的数据。接着,服务器可将当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为单个区块的目标交易时间和单个区块中的目标交易数量,以实现当前区块链的更新。进一步地,服务器检测当前区块链中已完成替换的节点,当完成替换的节点达到当前区块链的节点数量时,判定节点的更新结束。通过将当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为单个区块的目标交易时间和单个区块中的目标交易数量,可更新当前区块链中的每个节点的出块时间和出块大小,从而实现了当前区块链的性能的调节。
在一个实施例中,如图4所示,该对当前区块链进行压测处理,得到该当前区块链的当前交易吞吐量,包括:
步骤402,获取压测引擎的压测参数,该压测参数包括压测时长、压测并发数和压测总交易数。
其中,压测引擎是用于对当前区块链进行压力测试的工具。压测时长是指执行压测的时间,压测并发数是指能够同时处理的交易数量,压测总交易数是指处理的总交易数量。
具体地,服务器获取预设的压测引擎的压测时长、压测并发数和压测总交易数,通过预测的压测参数配置该压测引擎。
步骤404,按照压测引擎的压测参数对当前区块链中的至少一个节点发送交易请求包,得到当前区块链中的至少一个节点的响应数据。
其中,响应数据是指当前区块链的节点针对交易请求包所返回的数据。
具体地,服务器按照压测引擎的压测时长、压测并发数和压测总交易数对当前区块链中的节点发送交易请求包,以执行对当前区块链的压测处理。进一步地,区块链中的每个节点上存储的数据都是相同的,则服务器可向当前区块区块链中的至少一个节点发送交易请求包,以对当前区块区块链中的至少一个节点进行压测处理。接着,服务器接收当前区块链中的至少一个节点针对发送的交易请求包返回的响应数据。
步骤406,从当前区块链中的至少一个节点的响应数据中获取当前区块链的当前交易吞吐量。
具体地,响应数据中包括提交数、成功数、失败数、未完成数、每秒交易数和总体性能。服务器从接收当前区块链中的至少一个节点返回的提交数、成功数、失败数、未完成数、每秒交易数和总体性能中,获取每秒交易数。该每秒交易数即代表当前区块链的当前交易吞吐量。
上述区块链数据处理方法,通过获取压测引擎的压测参数,压测参数包括压测时长、压测并发数和压测总交易数,可对压测引擎的原始参数进行重新配置。按照压测引擎的压测参数对当前区块链中的至少一个节点发送交易请求包,得到当前区块链中的至少一个节点的响应数据,可对至少一个节点发送交易请求包,无需对当前区块链的每个节点都进行压测,提高压测的效率。从当前区块链中的至少一个节点的响应数据中获取当前区块链的当前交易吞吐量,使得可直接通过至少一个节点的压测结果快速地获取当前区块链当前交易吞吐量。
在一个实施例中,该对当前区块链进行压测处理,得到该当前区块链的当前交易吞吐量,包括:按照预设时间间隔对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量。
具体地,服务器按照预设时间间隔对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量,每次压测的区块链都是上一次更新单个区块的交易时间和单个区块中的交易数量后的区块链。通过按照预设时间间隔对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量,可得到更新后的区块链当前的交易吞吐量,从而判断出当前区块链的交易吞吐量是否达到目标交易吞吐量。
在一个实施例中,该方法还包括:对比当前区块链的当前交易吞吐量和目标交易吞吐量;当当前区块链的当前交易吞吐量达到目标交易吞吐量时,停止对当前区块链的压测处理。
具体地,当服务器根据单个区块的目标交易时间和单个区块中的目标交易数量更新当前区块链后,服务器仍然按照预设时间间隔对当前区块链进行压测处理,而每次更新后的区块链仍作为当前区块链。服务器每次进行压测处理的区块链都为上一个更新后的区块链。每次更新当前区块链后,服务器按照预设时间间隔对当前区块链进行压测处理,得到本次压测的当前区块链的当前交易吞吐量。
接着,服务器将当前区块链的当前交易吞吐量和目标交易吞吐量进行对比,以判断当前区块链的当前交易吞吐量是否达到目标交易吞吐量。当当前区块链的当前交易吞吐量达到目标交易吞吐量时,判定当前区块链的性能已经达到目标性能,则无需再调整当前区块链的单个区块的交易时间和单个区块中的交易数量,则停止对当前区块链的更新,并停止对当前区块链的压测处理。
上述区块链数据处理方法,通过每次更新当前区块链后的压测处理,对比当前区块链的当前交易吞吐量和目标交易吞吐量,以判断更新后的当前区块链的交易吞吐量是否达到目标交易吞吐量。当当前区块链的当前交易吞吐量达到目标交易吞吐量时,停止对当前区块链的压测处理,从而结束当前区块链性能的调节。
在一个实施例中,如图5所示,该反馈调节算法为比例-积分-微分控制算法,该区块链数据处理方法包括:
其中,比例-积分-微分控制算法简称PID控制算法,PID控制算法是通过Pid控制器保持输出,使得通过闭环操作的测得值和目标值之间的误差为零。
步骤502,对当前区块链进行压测处理,得到该当前区块链的当前交易吞吐量。
步骤504,获取目标交易吞吐量,确定该当前交易吞吐量和该目标交易吞吐量的误差。
具体地,当该反馈调节算法为比例-积分-微分控制算法时,服务器通过压测引擎对当前区块链进行第一次压测处理,得到当前区块链的当前交易吞吐量。获取目标交易吞吐量,确定当前交易吞吐量和目标交易吞吐量的误差。
步骤506,根据比例-积分-微分控制算法对该误差进行处理,得到控制值。
具体地,服务器将当前交易吞吐量和目标交易吞吐量的误差输入到PID控制器中,该PID控制器部署在该压测引擎上,PID控制器将该误差经过比例控制器,得到比例控制值。将误差经过积分控制器,得到积分控制值,经误差经过微分控制器,得到微分控制值。PID控制器将比例控制值、积分控制值和微分控制值相加,得到一个输出,即PID控制器第一次输出的控制值。
步骤508,将该控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量。
步骤510,根据该单个区块的目标交易时间和单个区块中的目标交易数量更新该当前区块链。
具体地,服务器获取比例映射算法对PID控制器输出的控制值进行处理,得到第一次压测后的单个区块的目标交易时间和单个区块中的目标交易数量。接着,服务器用第一次压测后的单个区块的交易时间和单个区块中的交易数量,替换当前区块链中每个节点中的单个区块的交易时间和单个区块中的交易数量,从而实现第一次当前区块链的更新。
步骤512,按照预设时间间隔对更新后的当前区块链进行压测处理,得到更新后的当前区块链的当前交易吞吐量。
具体地,服务器按照预设时间间隔对当前区块链进行第二次压测,第二次压测的区块链为第一次更新后的区块链。第二次压测处理可得到当前区块链的当前交易吞吐量。
步骤514,对比该更新后的当前区块链的当前交易吞吐量和该目标交易吞吐量。
步骤516,当该更新后的当前区块链的当前交易吞吐量达到该目标交易吞吐量时,停止对该当前区块链的压测处理。
步骤518,当该更新后的当前区块链的当前交易吞吐量达到该目标交易吞吐量时,返回执行步骤504。
具体地,将第二次获得的当前交易吞吐量和目标交易吞吐量进行对比,当第二次获得的当前区块链的当前交易吞吐量达到目标交易吞吐量时,判定当前区块链的性能已经达到目标性能,则无需再调整当前区块链的单个区块的交易时间和单个区块中的交易数量,停止对当前区块链的压测处理。当第二次获得的当前区块链的当前交易吞吐量未达到目标交易吞吐量时,返回执行确定该当前交易吞吐量和该目标交易吞吐量的误差的步骤。
上述区块链数据处理方法,当反馈调节算法为比例-积分-微分控制算法时,按照预设时间间隔对当前区块链进行压测处理,以判断当前区块链的当前交易吞吐量是否达到目标交易吞吐量,未达到时,通过比例-积分-微分控制算法对当前交易吞吐量和目标交易吞吐量的误差进行处理,从而将当前区块链的交易吞吐量更快地调整到目标交易吞吐量。从而通过当前交易吞吐量和目标交易吞吐量的误差作为反馈,通过比例-积分-微分控制算法实现了当前区块链的性能调节,使得对区块链的性能调节无需涉及区块链的技术架构。解决了传统区块链性能调节的方式需要重新构建技术架构的周期长且成本高问题。
如图6所示,为一个实施例中对当前区块链进行压测处理的示意图。XX1为压测引擎,XX2、XX3、XX4和XX5为当前区块链中的4个节点。压测引擎XX1上部署了PID控制器,压测引擎可按照预设时间检测对当前区块链中的4个节点中的至少一个进行压测处理,从而得到当前区块链的当前交易吞吐量。
如图7所示,为一个实施例中更新当前区块链的示意图。节点1、节点2、节点3和节点4为当前区块链中的4个节点。服务器将该当前交易吞吐量与目标吞吐量的误差作为反馈数据输入PID控制器中,得到PID控制器输出的控制值。服务器将该控制值经过参数修正处理,得到单个区块的交易时间和单个区块中的交易数量。接着,服务器通过每个节点的代理程序Agent将得到的单个区块的交易时间和单个区块中的交易数量替换掉区块链的节点1、节点2、节点3和节点4中已存储的单个区块的交易时间和单个区块中的交易数量,从而更新每个节点的出块时间和出块大小,实现当前区块链的性能调节。
在一个实施例中,该反馈调节算法为比例-积分-微分控制算法,该方法还包括:当当前区块链的当前交易吞吐量未达到该目标交易吞吐量时,调整该比例-积分-微分控制算法的参数,该参数包括比例参数、积分参数和微分参数中的至少一个;
该根据反馈调节算法对该误差进行处理,包括:通过调整参数后得到的比例-积分-微分控制算法对误差进行处理。
具体地,当当前区块链的当前交易吞吐量未达到该目标交易吞吐量时,服务器调整比例-积分-微分控制算法的比例参数、积分参数和微分参数中的至少一个。进一步地,可根据临界比例度参数整定法调整PID控制算法的参数。临界比例度参数整定法是在纯比例作用下,将比例度逐步增加或将比例度逐步减小,直到控制值出现等幅振荡为止。此时的比例度称为临界比例度,振荡周期称为临界周期。然后按照经验公式,由临界比例度和临界周期计算PID控制算法的比例参数、积分参数和微分参数。
在本实施例中,可根据衰减曲线参数整定法来调整PID控制算法的参数。衰减曲线参数整定法(controller tuning based n attenua-ring eurvc)为PID控制器参数整定方法的一种。该衰减曲线参数整定法先在仅有比例作用下由大到小调整比例度,使在阶跃输人下的过渡过程呈现规定的衰减曲线形式,通常是使相邻两个周期曲线幅值之比为4:1,并测出过渡过程的振荡周期值。然后按照经验公式,根据比例度和震荡周期计算得到PID控制算法的比例参数、积分参数和微分参数。
在本实施例中,可按照先调整比例参数再调整积分参数,最后调整微分参数的方式对PID控制算法的参数进行调整。
接着,服务器将压测得到的当前交易吞吐量和目标交易吞吐量的误差输入到调整参数后的PID控制器中,得到调整参数后的PID控制器输出的控制值。接着,通过比例映射算法对PID控制器输出的控制值进行处理,得到压测后的单个区块的目标交易时间和单个区块中的目标交易数量。接着,服务器用得到的单个区块的交易时间和单个区块中的交易数量,替换当前区块链中每个节点中的单个区块的交易时间和单个区块中的交易数量,从而实现当前区块链的更新。需要注意的是,在多次执行压测处理时,可只调整一次PID控制器的参数,也可多次调整PID控制器的参数。
上述区块链数据处理方法中,通过调整比例-积分-微分控制算法的参数,能够将当前区块链的当前交易吞吐量快速调整为目标交易吞吐量,从而提高调节区块链性能的效率。
如图8所示,为一个实施例中区块链数据处理的流程图。压测引擎对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量。将采集到的当前交易吞吐量与目标交易吞吐量的误差输入PID控制器中。PID控制器中的比例控制器将得到的误差乘以比例系数得到输出,如果误差为零,则该比例控制器输出为零。经过一定时间后,误差稳定在一定值,此时的误差称为稳态误差。PID控制器中的积分控制器用于消除稳态误差,积分控制器集成了一段时间的误差,PID控制器中的积分控制器将一段时间的误差乘以积分系数得到输出值。PID控制器中的微分控制器的输出取决于误差相对于时间的变化率,PID控制器中的微分控制器将误差相对于时间的变化率乘以微分常数,得到输出值。接着,PID控制器将比例控制器、积分控制器和微分控制器输出的值求和,得到控制值。PID控制器输出控制值,服务器将控制值进行参数修正处理,并更新当前区块链。当前区块链更新每个节点后,按照更新的单个区块的交易时间和单个区块中的交易数量输出数据。
如图9所示,为一个实施例中区块链数据处理的拟合曲线示意图。更新当前区块后,可通过拟合曲线示意图确定当前区块链的性能是否稳定。TrustSQL PID为当前区块链使用的PID控制器,PID控制器的采样值PV随着时间的改变而趋向稳定,从而表明通过PID控制算法调节当前区块链的交易吞吐量,能够使当前区块链的交易吞吐量达到目标交易吞吐量,并使当前区块链达到目标交易吞吐量后处于稳定状态。
在一个实施例中,该方法还包括:检测当前的压测时长;当当前的压测时长达到预设的压测时长时,停止对当前区块链的压测处理。
具体地,服务器可在压测引擎中设置压测开始的时间和压测结束的时间,并实时检测压测过程中的时间变化。当服务器检测到压测引擎对当前区块链的压测处理的时间达到预设的压测时长时,停止对当前区块链的压测处理。通过检测当前的压测时长,当当前的压测时长达到预设的压测时长时,停止对当前区块链的压测处理,从而自动停止对当前区块链的压测循环。
在一个实施例中,提供了一种区块链数据处理方法,包括:
服务器获取压测引擎的压测参数,该压测参数包括压测时长、压测并发数和压测总交易数。
接着,服务器按照压测引擎的压测参数对当前区块链中的至少一个节点发送交易请求包,得到该当前区块链中的至少一个节点的响应数据。
接着,服务器从该当前区块链中的至少一个节点的响应数据中获取该当前区块链的当前交易吞吐量。
进一步地,服务器获取目标交易吞吐量,确定该当前交易吞吐量和该目标交易吞吐量的误差。
接着,服务器根据比例-积分-微分控制算法对误差进行处理,得到控制值。
接着,服务器获取比例映射系数,该比例映射系数包括第一比例映射系数和第二比例映射系数。
接着,服务器根据该控制值、该误差和该第一比例映射系数,得到单个区块的目标交易时间。
进一步地,服务器根据该控制值、该误差和该第二比例映射系数,得到单个区块中的目标交易数量。
接着,服务器将该控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量。
接着,服务器确定该当前区块链的单个区块的当前交易时间和单个区块中的当前交易数量。
进一步地,服务器将该当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为该单个区块的目标交易时间和单个区块中的目标交易数量。
接着,服务器按照预设时间间隔对当前区块链进行压测处理,得到该当前区块链的当前交易吞吐量
接着,服务器对比该当前区块链的当前交易吞吐量和该目标交易吞吐量。
可选地,当该当前区块链的当前交易吞吐量达到该目标交易吞吐量时,服务器停止对该当前区块链的压测处理。
可选地,当该当前区块链的当前交易吞吐量未达到该目标交易吞吐量时,服务器调整该比例-积分-微分控制算法的参数,该参数包括比例参数、积分参数和微分参数中的至少一个。
进一步地,服务器通过调整参数后得到的比例-积分-微分控制算法对该当前区块链的当前交易吞吐量和该目标交易吞吐量的误差进行处理,并执行对控制值的修正处理和再次更新区块链的步骤。
上述区块链数据处理方法,通过获取压测引擎的压测参数,压测参数包括压测时长、压测并发数和压测总交易数,可对压测引擎的原始参数进行重新配置。按照压测引擎的压测参数对当前区块链中的至少一个节点发送交易请求包,得到当前区块链中的至少一个节点的响应数据,可对至少一个节点发送交易请求包,无需对当前区块链的每个节点都进行压测,提高压测的效率。从当前区块链中的至少一个节点的响应数据中获取当前区块链的当前交易吞吐量,使得可直接通过至少一个节点的压测结果快速地获取当前区块链当前交易吞吐量。
通过比例-积分-微分控制算法对当前交易吞吐量和目标交易吞吐量的误差进行处理,从而将当前区块链的交易吞吐量调整到目标交易吞吐量。从而通过当前交易吞吐量和目标交易吞吐量的误差作为反馈,通过比例-积分-微分控制算法实现了当前区块链的性能调节,使得对区块链的性能调节无需涉及区块链的技术架构。
通过获取比例映射系数,根据控制值、误差和第一比例映射系数,得到单个区块的目标交易时间,以及根据控制值、误差和第二比例映射系数,得到单个区块中的目标交易数量,使得能够根据反馈调节算法输出的一个值处理得到新的出块时间和出块大小,从而能够对当前区块链中的出块时间和出块大小这两个配置项按照比例映射的方式重新设置。
通过将当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为单个区块的目标交易时间和单个区块中的目标交易数量,可更新当前区块链中的每个节点的出块时间和出块大小,从而实现了当前区块链的性能的调节。
当反馈调节算法为比例-积分-微分控制算法时,按照预设时间间隔对当前区块链进行压测处理,以判断当前区块链的当前交易吞吐量是否达到目标交易吞吐量,未达到时,通过比例-积分-微分控制算法对当前交易吞吐量和目标交易吞吐量的误差进行处理,从而将当前区块链的交易吞吐量更快地调整到目标交易吞吐量。
当该当前区块链的当前交易吞吐量未达到该目标交易吞吐量时,可通过调整比例-积分-微分控制算法的参数,能够将当前区块链的当前交易吞吐量快速调整为目标交易吞吐量,从而提高调节区块链性能的效率。
如图10所示,为一个实施例中该区块链数据处理的架构图。服务器初始化PID控制器的比例参数、积分参数和微分参数以及PID控制器的采样周期和缓冲时间。并配置压测引擎的压测周期,即压测时长和压测进程和压测服务。接着,服务器通过压测引擎对区块链的进行压测,得到当前区块链的当前交易吞吐量,从而确定当前交易吞吐量和目标交易吞吐量的误差。接着,压测引擎将误差返回给PID控制器,PID控制器对误差进行输出控制值。接着,服务器对输出的控制值进行参数修正,得到单个区块的目标交易时间和单个区块中的目标交易数量。接着,服务器通过区块链每个节点的代理程序Agent将各节点中的单个区块的交易时间和单个区块中的交易数量,替换为单个区块的目标交易时间和单个区块中的目标交易数量,从而实现当前区块链的更新,进而实现了当前区块链的性能调节。
图2-图10为一个实施例中区块链数据处理方法的流程示意图。应该理解的是,虽然图2-图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图11所示,提供了一种区块链数据处理装置,该装置包括:压测模块1102、确定模块1104、处理模块1106、修正模块1108和更新模块1110。其中,
压测模块1102,用于对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量。
确定模块1104,用于获取目标交易吞吐量,确定当前交易吞吐量和目标交易吞吐量的误差。
处理模块1106,用于根据反馈调节算法对误差进行处理,得到控制值。
修正模块1108,用于将控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量。
更新模块1110,用于根据单个区块的目标交易时间和单个区块中的目标交易数量更新当前区块链。
上述区块链数据处理装置,通过对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量,从而确定当前区块链的处理性能。获取目标交易吞吐量,确定当前交易吞吐量和目标交易吞吐量的误差,从而确定当前的测得值和需要达到的目标值之间存在的差距。根据反馈调节算法对误差进行处理,得到控制值,通过反馈调节算法处理误差,得到需要调节的值。将控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量,可以得到当前区块链从当前交易吞吐量达到目标交易吞吐量需要达到的单个区块的目标交易时间和单个区块中的目标交易数量,即从当前性能达到目标性需要调整的性能指标。根据单个区块的目标交易时间和单个区块中的目标交易数量更新当前区块链,使得更新后的当前区块链的交易吞吐量达到目标吞吐量。本方案解决了传统区块链性能调节的方式需要重新构建技术架构的周期长且成本高问题。
在一个实施例中,修正模块1108还用于:获取比例映射系数,该比例映射系数包括第一比例映射系数和第二比例映射系数;根据控制值、误差和第一比例映射系数,得到单个区块的目标交易时间;根据控制值、误差和第二比例映射系数,得到单个区块中的目标交易数量。
上述区块链数据处理装置,通过获取比例映射系数,根据控制值、误差和第一比例映射系数,得到单个区块的目标交易时间,以及根据控制值、误差和第二比例映射系数,得到单个区块中的目标交易数量,使得能够根据反馈调节算法输出的一个值处理得到新的出块时间和出块大小,从而能够对当前区块链中的出块时间和出块大小这两个配置项按照比例映射的方式重新设置。
在一个实施例中,更新模块1110还用于:确定当前区块链的单个区块的当前交易时间和单个区块中的当前交易数量;将当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为单个区块的目标交易时间和单个区块中的目标交易数量。通过将当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为单个区块的目标交易时间和单个区块中的目标交易数量,可更新当前区块链中的每个节点的出块时间和出块大小,从而实现了当前区块链的性能的调节。
在一个实施例中,压测模块1102还用于:获取压测引擎的压测参数,该压测参数包括压测时长、压测并发数和压测总交易数;通过设置压测参数后的压测引擎对当前区块链中的至少一个节点发送交易请求包,得到当前区块链中的至少一个节点的响应数据;从当前区块链中的至少一个节点的响应数据中获取当前区块链的当前交易吞吐量。
上述区块链数据处理装置,通过获取压测引擎的压测参数,压测参数包括压测时长、压测并发数和压测总交易数,可对压测引擎的原始参数进行重新配置。按照压测引擎的压测参数对当前区块链中的至少一个节点发送交易请求包,得到当前区块链中的至少一个节点的响应数据,可对至少一个节点发送交易请求包,无需对当前区块链的每个节点都进行压测,提高压测的效率。从当前区块链中的至少一个节点的响应数据中获取当前区块链的当前交易吞吐量,使得可直接通过至少一个节点的压测结果快速地获取当前区块链当前交易吞吐量。
在一个实施例中,压测模块1102还用于:按照预设时间间隔对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量。通过按照预设时间间隔对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量,可得到更新后的区块链当前的交易吞吐量,从而判断出当前区块链的交易吞吐量是否达到目标交易吞吐量。
在一个实施例中,该装置还包括:停止模块。停止模块还用于:对比当前区块链的当前交易吞吐量和目标交易吞吐量;当当前区块链的当前交易吞吐量达到目标交易吞吐量时,停止对当前区块链的压测处理。通过每次更新当前区块链后的压测处理,对比当前区块链的当前交易吞吐量和目标交易吞吐量,以判断更新后的当前区块链的交易吞吐量是否达到目标交易吞吐量。当当前区块链的当前交易吞吐量达到目标交易吞吐量时,停止对当前区块链的压测处理,从而结束当前区块链性能的调节。
在一个实施例中,该当反馈调节算法为比例-积分-微分控制算法时,区块链数据处理装置还包括:调整模块。该调整模块用于:当当前区块链的当前交易吞吐量未达到该目标交易吞吐量时,调整该比例-积分-微分控制算法的参数,该参数包括比例参数、积分参数和微分参数中的至少一个。
处理模块还用于:通过调整参数后得到的比例-积分-微分控制算法对误差进行处理。
上述区块链数据处理装置中,通过调整比例-积分-微分控制算法的参数,能够将当前区块链的当前交易吞吐量快速调整为目标交易吞吐量,从而提高调节区块链性能的效率。
在一个实施例中,停止模块还用于:检测当前的压测时长;当当前的压测时长达到预设的压测时长时,停止对当前区块链的压测处理。通过检测当前的压测时长,当当前的压测时长达到预设的压测时长时,停止对当前区块链的压测处理,从而自动停止对当前区块链的压测循环。
图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现区块链数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行区块链数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的区块链数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该区块链数据处理装置的各个程序模块,比如,图11所示的压测模块1102、确定模块1104、处理模块1106、修正模块1108和更新模块1110。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的区块链数据处理方法中的步骤。
例如,图12所示的计算机设备可以通过如图11所示的区块链数据处理装置中的压测模块1102执行对当前区块链进行压测处理,得到当前区块链的当前交易吞吐量的步骤。计算机设备可通过确定模块1104执行获取目标交易吞吐量,确定当前交易吞吐量和目标交易吞吐量的误差的步骤。计算机设备可通过处理模块1106执行根据反馈调节算法对误差进行处理,得到控制值的步骤。计算机设备可通过修正模块1108执行将控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量的步骤。计算机设备可通过更新模块1110执行根据单个区块的目标交易时间和单个区块中的目标交易数量更新当前区块链的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述区块链数据处理方法的步骤。此处区块链数据处理方法的步骤可以是上述各个实施例的区块链数据处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述区块链数据处理方法的步骤。此处区块链数据处理方法的步骤可以是上述各个实施例的区块链数据处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (18)

1.一种区块链数据处理方法,包括:
对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量;
获取目标交易吞吐量,确定所述当前交易吞吐量和所述目标交易吞吐量的误差;
根据反馈调节算法对所述误差进行处理,得到控制值;
将所述控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量;所述参数修正处理为按照比例映射设置所述单个区块的交易时间和交易数量;
根据所述单个区块的目标交易时间和单个区块中的目标交易数量更新所述当前区块链。
2.根据权利要求1所述的方法,其特征在于,所述将所述控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量,包括:
获取比例映射系数,所述比例映射系数包括第一比例映射系数和第二比例映射系数;
根据所述控制值、所述误差和所述第一比例映射系数,得到单个区块的目标交易时间;
根据所述控制值、所述误差和所述第二比例映射系数,得到单个区块中的目标交易数量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述单个区块的目标交易时间和单个区块中的目标交易数量更新所述当前区块链,包括:
确定所述当前区块链的单个区块的当前交易时间和单个区块中的当前交易数量;
将所述当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为所述单个区块的目标交易时间和单个区块中的目标交易数量。
4.根据权利要求1所述的方法,其特征在于,所述对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量,包括:
获取压测引擎的压测参数,所述压测参数包括压测时长、压测并发数和压测总交易数;
按照所述压测引擎的压测参数对当前区块链中的至少一个节点发送交易请求包,得到所述当前区块链中的至少一个节点的响应数据;
从所述当前区块链中的至少一个节点的响应数据中获取所述当前区块链的当前交易吞吐量。
5.根据权利要求1所述的方法,其特征在于,所述对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量,包括:
按照预设时间间隔对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对比所述当前区块链的当前交易吞吐量和所述目标交易吞吐量;
当所述当前区块链的当前交易吞吐量达到所述目标交易吞吐量时,停止对所述当前区块链的压测处理。
7.根据权利要求6所述的方法,其特征在于,所述反馈调节算法为比例-积分-微分控制算法,所述方法还包括:
当所述当前区块链的当前交易吞吐量未达到所述目标交易吞吐量时,调整所述比例-积分-微分控制算法的参数,所述参数包括比例参数、积分参数和微分参数中的至少一个;
所述根据反馈调节算法对所述误差进行处理,包括:
通过调整参数后得到的比例-积分-微分控制算法对所述误差进行处理。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测当前的压测时长;
当所述当前的压测时长达到预设的压测时长时,停止对所述当前区块链的压测处理。
9.一种区块链数据处理装置,其特征在于,所述装置包括:
压测模块,用于对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量;
确定模块,用于获取目标交易吞吐量,确定所述当前交易吞吐量和所述目标交易吞吐量的误差;
处理模块,用于根据反馈调节算法对所述误差进行处理,得到控制值;
修正模块,用于将所述控制值经过参数修正处理,得到单个区块的目标交易时间和单个区块中的目标交易数量;所述参数修正处理为按照比例映射设置所述单个区块的交易时间和交易数量;
更新模块,用于根据所述单个区块的目标交易时间和单个区块中的目标交易数量更新所述当前区块链。
10.根据权利要求9所述的装置,其特征在于,所述修正模块,还用于获取比例映射系数,所述比例映射系数包括第一比例映射系数和第二比例映射系数;根据所述控制值、所述误差和所述第一比例映射系数,得到单个区块的目标交易时间;根据所述控制值、所述误差和所述第二比例映射系数,得到单个区块中的目标交易数量。
11.根据权利要求9所述的装置,其特征在于,所述更新模块,还用于确定所述当前区块链的单个区块的当前交易时间和单个区块中的当前交易数量;将所述当前区块链中的每个节点的单个区块的当前交易时间和单个区块中的当前交易数量,替换为所述单个区块的目标交易时间和单个区块中的目标交易数量。
12.根据权利要求9所述的装置,其特征在于,所述压测模块,还用于获取压测引擎的压测参数,所述压测参数包括压测时长、压测并发数和压测总交易数;按照所述压测引擎的压测参数对当前区块链中的至少一个节点发送交易请求包,得到所述当前区块链中的至少一个节点的响应数据;从所述当前区块链中的至少一个节点的响应数据中获取所述当前区块链的当前交易吞吐量。
13.根据权利要求9所述的装置,其特征在于,所述压测模块,还用于按照预设时间间隔对当前区块链进行压测处理,得到所述当前区块链的当前交易吞吐量。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括停止模块;所述停止模块,用于对比所述当前区块链的当前交易吞吐量和所述目标交易吞吐量;当所述当前区块链的当前交易吞吐量达到所述目标交易吞吐量时,停止对所述当前区块链的压测处理。
15.根据权利要求14所述的装置,其特征在于,所述反馈调节算法为比例-积分-微分控制算法,所述装置还包括调整模块;所述调整模块,用于当所述当前区块链的当前交易吞吐量未达到所述目标交易吞吐量时,调整所述比例-积分-微分控制算法的参数,所述参数包括比例参数、积分参数和微分参数中的至少一个;
所述处理模块,还用于通过调整参数后得到的比例-积分-微分控制算法对所述误差进行处理。
16.根据权利要求9所述的装置,其特征在于,所述装置还包括停止模块;所述停止模块,用于检测当前的压测时长;当所述当前的压测时长达到预设的压测时长时,停止对所述当前区块链的压测处理。
17.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。
18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述方法的步骤。
CN201910530660.3A 2019-06-19 2019-06-19 区块链数据处理方法、装置、可读存储介质和计算机设备 Active CN110245147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910530660.3A CN110245147B (zh) 2019-06-19 2019-06-19 区块链数据处理方法、装置、可读存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910530660.3A CN110245147B (zh) 2019-06-19 2019-06-19 区块链数据处理方法、装置、可读存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN110245147A CN110245147A (zh) 2019-09-17
CN110245147B true CN110245147B (zh) 2021-08-13

Family

ID=67887966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910530660.3A Active CN110245147B (zh) 2019-06-19 2019-06-19 区块链数据处理方法、装置、可读存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN110245147B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569675B (zh) * 2019-09-18 2021-07-09 上海海事大学 一种基于区块链技术的多Agent交易信息保护方法
CN111478827B (zh) * 2020-06-24 2020-12-04 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统
CN112448855B (zh) * 2021-01-28 2021-05-11 支付宝(杭州)信息技术有限公司 区块链系统参数更新方法和系统

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908055A (zh) * 2010-03-05 2010-12-08 黑龙江工程学院 一种优化lam%的信息分类阈值的设定方法及使用该方法的信息过滤系统
CN106446067A (zh) * 2016-09-06 2017-02-22 联动优势科技有限公司 一种获取交易数据的方法和装置
CN106506203A (zh) * 2016-10-25 2017-03-15 杭州云象网络技术有限公司 一种应用于区块链的节点监控系统
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统
CN108288159A (zh) * 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
CN108491266A (zh) * 2018-03-09 2018-09-04 联想(北京)有限公司 基于区块链的数据处理方法、装置及电子设备
CN108563796A (zh) * 2018-05-04 2018-09-21 蔷薇信息技术有限公司 区块链的数据压缩处理方法、装置及电子设备
CN108763058A (zh) * 2018-04-24 2018-11-06 苏州同济区块链研究院有限公司 一种区块链测评系统
CN109426567A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种区块链的节点部署和选举方法
CN109617759A (zh) * 2018-12-04 2019-04-12 中钞信用卡产业发展有限公司杭州区块链技术研究院 区块链系统稳定性测试方法、装置、设备及存储介质
CN109639521A (zh) * 2018-12-05 2019-04-16 北京京东金融科技控股有限公司 区块链性能的测试方法、装置、设备及存储介质
CN109729163A (zh) * 2018-12-28 2019-05-07 合肥达朴汇联科技有限公司 一种区块链的数据处理方法、装置电子设备及存储介质
CN111554394A (zh) * 2020-05-18 2020-08-18 苏州立威新谱生物科技有限公司 一种基于区块链技术的外科手术控制方法、系统及可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040182246A1 (en) * 2003-03-21 2004-09-23 Grantham Rodger P. Sub-atmospheric fuel storage system
US9569771B2 (en) * 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
CN102255910B (zh) * 2011-07-11 2017-03-22 北京天融信科技有限公司 一种测试入侵防御产品性能的方法和装置
CN104331477B (zh) * 2014-11-04 2017-08-25 哈尔滨工业大学 基于联邦式检索的云平台并发性能测试方法
US10516538B2 (en) * 2016-11-01 2019-12-24 Netcomm Inc. System and method for digitally signing documents using biometric data in a blockchain or PKI
CN106651332B (zh) * 2016-12-29 2020-11-06 成都质数斯达克科技有限公司 一种区块链中新区块的生成方法及区块链
US11403019B2 (en) * 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
CN109871263B (zh) * 2019-02-25 2021-04-06 百度在线网络技术(北京)有限公司 线下区块链系统的运行方法、装置、设备及存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908055A (zh) * 2010-03-05 2010-12-08 黑龙江工程学院 一种优化lam%的信息分类阈值的设定方法及使用该方法的信息过滤系统
CN106446067A (zh) * 2016-09-06 2017-02-22 联动优势科技有限公司 一种获取交易数据的方法和装置
CN106506203A (zh) * 2016-10-25 2017-03-15 杭州云象网络技术有限公司 一种应用于区块链的节点监控系统
CN109426567A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种区块链的节点部署和选举方法
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统
CN108288159A (zh) * 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
CN108491266A (zh) * 2018-03-09 2018-09-04 联想(北京)有限公司 基于区块链的数据处理方法、装置及电子设备
CN108763058A (zh) * 2018-04-24 2018-11-06 苏州同济区块链研究院有限公司 一种区块链测评系统
CN108563796A (zh) * 2018-05-04 2018-09-21 蔷薇信息技术有限公司 区块链的数据压缩处理方法、装置及电子设备
CN109617759A (zh) * 2018-12-04 2019-04-12 中钞信用卡产业发展有限公司杭州区块链技术研究院 区块链系统稳定性测试方法、装置、设备及存储介质
CN109639521A (zh) * 2018-12-05 2019-04-16 北京京东金融科技控股有限公司 区块链性能的测试方法、装置、设备及存储介质
CN109729163A (zh) * 2018-12-28 2019-05-07 合肥达朴汇联科技有限公司 一种区块链的数据处理方法、装置电子设备及存储介质
CN111554394A (zh) * 2020-05-18 2020-08-18 苏州立威新谱生物科技有限公司 一种基于区块链技术的外科手术控制方法、系统及可读存储介质

Also Published As

Publication number Publication date
CN110245147A (zh) 2019-09-17

Similar Documents

Publication Publication Date Title
CN110245147B (zh) 区块链数据处理方法、装置、可读存储介质和计算机设备
CN108763398B (zh) 数据库配置参数处理方法、装置、计算机设备和存储介质
US7243049B1 (en) Method for modeling system performance
CN110941555B (zh) 测试用例推荐方法、装置、计算机设备和存储介质
CN109857974B (zh) 寿命评估方法及装置
CN109542712B (zh) 服务器压力测试方法、装置、计算机设备和存储介质
CN110263059B (zh) Spark-Streaming中间数据分区方法、装置、计算机设备和存储介质
CN110798376A (zh) 接口测试方法、装置、计算机设备和存储介质
CN113946986B (zh) 基于加速退化试验的产品平均失效前时间评估方法和装置
CN112990488B (zh) 一种基于机器异构性的联邦学习方法
CN112101675B (zh) 基于kl散度衡量资源配置合理度方法、装置、设备及介质
CN115829297B (zh) 装配式建筑的工作包生成方法、装置、终端及存储介质
CN111104644A (zh) 可靠性评估方法、装置、计算机设备和存储介质
CN109992461B (zh) 激励生成装置的模板库构建方法、芯片验证方法及系统
CN110990135A (zh) 基于深度迁移学习的Spark作业时间预测方法和装置
CN111162946B (zh) 构建模型推理网络的方法、数据处理方法、装置和存储介质
CN111507591B (zh) 电力系统状态确定方法、装置、计算机介质及存储介质
CN114138634B (zh) 测试用例的选取方法、装置、计算机设备和存储介质
CN113987803B (zh) 基于模型修正的频率驾驭方法、装置、设备及存储介质
WO2021153271A1 (ja) モデル更新装置及び方法並びにプロセス制御システム
CN109902334B (zh) 机器人用精密减速器寿命预测方法及装置、计算机设备
CN113887990A (zh) 电气设备维修决策优化方法
CN111210105B (zh) 连续工作性能验证、装置、计算机设备和存储介质
CN113532614A (zh) 用于预测传感器数据的方法、处理器及称重系统
CN112731150A (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: 40008851

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant