CN111488291B - 区块链网络的压力测试方法及装置、系统 - Google Patents
区块链网络的压力测试方法及装置、系统 Download PDFInfo
- Publication number
- CN111488291B CN111488291B CN202010585455.XA CN202010585455A CN111488291B CN 111488291 B CN111488291 B CN 111488291B CN 202010585455 A CN202010585455 A CN 202010585455A CN 111488291 B CN111488291 B CN 111488291B
- Authority
- CN
- China
- Prior art keywords
- transaction
- blockchain
- pressure measurement
- request
- processing request
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书一个或多个实施例提供一种区块链网络的压力测试方法及装置、系统,该方法可以包括:响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录;根据所述压测记录和获取到的交易回执对应的区块链交易的信息,确定所述交易回执对应的处理请求是否为压测请求。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种区块链网络的压力测试方法及装置、系统。
背景技术
区块链技术(也被称之为,分布式账本技术)是一种去中性化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
通过向区块链网络导入压力测试流量,可以获知区块链网络的负载能力、数据吞吐量上限等各项性能指标,从而据此维护区块链网络的正常运行,或者针对区块链网络进行优化。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种区块链网络的压力测试方法及装置、系统。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种区块链网络的压力测试系统,包括:
区块链客户端,响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录;以及,在根据所述压测记录和获取到的交易回执对应的区块链交易的信息确定出所述交易回执对应的处理请求为压测请求的情况下,针对所述交易回执添加特征标识;
区块链网络,接收并执行所述区块链客户端提交的区块链交易,并生成对应于所述区块链交易的交易回执;
业务系统,向所述区块链客户端发送所述处理请求,并接收所述区块链客户端返回的交易回执;在根据所述特征标识确定所述交易回执对应于压测请求的情况下,将所述交易回执存储至压测数据库,在所述交易回执对应的处理请求为区别于所述压测请求的业务请求的情况下,将所述交易回执存储至业务数据库。
根据本说明书一个或多个实施例的第二方面,提出了一种区块链网络的压力测试系统,包括:
区块链客户端,响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录;以及,在根据所述压测记录和获取到的交易回执对应的区块链交易的信息确定出所述交易回执对应的处理请求为压测请求的情况下,针对所述交易回执添加特征标识;
第一区块链网络,接收所述区块链客户端提交的对应于压测请求的第一区块链交易,执行并生成对应于第一区块链交易的交易回执;
第二区块链网络,接收所述区块链客户端提交的第二区块链交易,第二区块链交易对应的处理请求为区别于所述压测请求的业务请求;执行并生成对应于第二区块链交易的交易回执;
业务系统,向所述区块链客户端发送所述处理请求,并接收所述区块链客户端返回的交易回执;在根据所述特征标识确定所述交易回执对应于压测请求的情况下,将所述交易回执存储至压测数据库,在所述交易回执对应于业务请求的情况下,将所述交易回执存储至业务数据库。
根据本说明书一个或多个实施例的第三方面,提出了一种区块链网络的压力测试方法,应用于区块链客户端,所述方法包括:
响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;
在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录;
根据所述压测记录和获取到的交易回执对应的区块链交易的信息,确定所述交易回执对应的处理请求是否为压测请求。
根据本说明书一个或多个实施例的第四方面,提出了一种区块链网络的压力测试装置,应用于区块链客户端,所述装置包括:
交易创建单元,响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;
关系记录单元,在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录;
类型确定单元,根据所述压测记录和获取到的交易回执对应的区块链交易的信息,确定所述交易回执对应的处理请求是否为压测请求。
根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述实施例中任一所述的方法。
根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述实施例中任一所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种网络架构的示意图。
图2是一示例性实施例提供的一种区块链网络的压力测试方法的流程图。
图3是一示例性实施例提供的一种区块链网络的压力测试系统的示意图。
图4是一示例性实施例提供的另一种区块链网络的压力测试系统的示意图。
图5是一示例性实施例提供的一种设备的结构示意图。
图6是一示例性实施例提供的一种区块链网络的压力测试装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1是一示例性实施例提供的一种网络架构的示意图。如图1所示,业务系统11产生处理请求后,将该处理请求发送至区块链客户端12,由区块链客户端12针对该处理请求创建区块链交易,并将区块链交易提交至区块链网络13,使得区块链网络13上的区块链节点执行该区块链交易。当针对区块链网络13存在压力测试(简称“压测”)需求时,业务系统11可以生成压测请求类型的处理请求,而区块链客户端12可以针对这些压测请求创建相应的区块链交易,并由区块链网络13执行这些区块链交易;以及,区块链客户端12将区块链网络13执行区块链交易而产生的交易回执反馈至业务系统11,以由业务系统11对交易回执进行分析后,确定区块链网络13的压测结果。而在生产环境下,业务系统11、区块链客户端12和区块链网络13之间的交互过程,与上述的压测过程类似:业务系统11生成业务请求类型的处理请求,区块链客户端12针对这些业务请求创建相应的区块链交易,并由区块链网络13执行这些区块链交易;以及,区块链客户端12将区块链网络13执行区块链交易而产生的交易回执反馈至业务系统11。
在全链路压测场景下,涉及到生产环境中的压力测试。为了避免上述的压测请求与业务请求之间产生相互干扰,业务系统11可以在业务请求中添加压测标签以区分于业务请求;当然,也可以在业务请求中添加业务标签以区分于压测请求。但是,区块链客户端12在创建区块链交易时,由于需要遵守现有的交易格式等相关规定,因而无法针对不同处理请求对应的区块链交易予以区分,即无法将上述的压测标签或业务标签等特征标签带入到区块链网络13中,造成区块链网络13产生的交易回执同样无法携带上述的特征标签,使得业务系统11无法有效区分交易回执的来源,无法据此准确获知区块链网络13的压测结果。
下面结合实施例对本说明书的压力测试方案进行描述。
图2是一示例性实施例提供的一种区块链网络的压力测试方法的流程图。如图2所示,该方法应用于区块链客户端,所述方法包括:
步骤202,响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易。
区块链客户端用于配合业务系统与区块链网络,以实现业务系统与区块链网络之间的数据交互。区块链客户端可以包括任意能够实现数据交互的电子设备,比如为区块链网关;当然,本说明书并不对此进行限制。在业务系统向区块链网络传递数据的过程中,区块链客户端接收业务系统发起的处理请求,并创建对应于处理请求的区块链交易,然后将该区块链交易提交至区块链网络,使得区块链网络中的所有区块链节点对该区块链交易进行共识、执行、上链等操作;以及,在区块链网络向业务系统传递数据的过程中,区块链客户端获取区块链网络通过执行上述区块链交易所产生的交易回执(receipt),并将该交易回执反馈至业务系统。
区块链网络可能存在多种结构,这使得区块链客户端在创建区块链交易、与区块链网络实现数据交互等操作可能由于区块链网络的结构差异而存在一定不同。
在一实施例中,区块链客户端可以针对处于生产状态的目标区块链网络创建对应于上述处理请求的区块链交易,且该区块链交易被发送至该目标区块链网络。例如图3所示,区块链客户端32与区块链网络33进行交互,该区块链网络33为上述的部署于生产环境、处于生产状态的目标区块链网络。本实施例中仅涉及上述的区块链网络33,可以针对该处于生产状态的区块链网络33实施压力测试,而不需要基于额外资源来部署专用于压力测试的区块链网络。因此,区块链客户端32在收到业务系统31发起的处理请求后,可以针对该区块链网络33创建对应于上述处理请求的区块链交易,并将该区块链交易发送至该区块链网络33,比如区块链客户端32可以将区块链交易发送至区块链网络33中的某一区块链节点33n,而该区块链节点33n可以进一步将该区块链交易传递至区块链网络33中的其他区块链节点,使得所有区块链节点可以针对该区块链交易进行共识、执行、上链等操作,并生成相应的交易回执。
在一实施例中,为了避免压力测试与生产业务之间相互干扰,可以针对处于生产状态的目标区块链网络部署对应的对等区块链网络,使得目标区块链网络用于实现生产业务、对等区块链网络用于实现压力测试。相应地,区块链客户端可以在处理请求为压测请求的情况下,针对上述的对等区块链网络创建对应于该处理请求(即压测请求)的第一区块链交易,并将该第一区块链交易发送至对等区块链网络,以及在处理请求为区别于上述压测请求的业务请求的情况下,针对目标区块链网络创建对应于该处理请求(即业务请求)的第二区块链交易,并将该第二区块链交易发送至目标区块链网络。其中,对等区块链网络与目标区块链网络可以具有相同的网络结构和网络配置(包括硬件和软件配置),使得针对该对等区块链网络所实施的压力测试能够体现出目标区块链网络的真实状况。当然,对等区块链网络可以与目标区块链网络之间存在一定差异,这种差异可能由于各种因素所导致,但针对该对等区块链网络所实施的压力测试,仍然能够在一定程度上反馈出目标区块链网络的真实状况。例如图4所示,区块链客户端42可以分别与区块链网络43和区块链网络44进行交互,其中区块链网络43为上述的部署于生产环境、处于生产状态的目标区块链网络,而区块链网络44为相应的对等区块链网络。区块链客户端42在收到业务系统41发起的处理请求后,需要对该处理请求的类型予以识别,以确定该处理请求为业务请求还是压测请求。如果收到的处理请求为业务请求,区块链客户端42针对上述的区块链网络43创建对应于该业务请求的区块链交易,并将该区块链交易发送至区块链网络43,比如区块链客户端42可以将区块链交易发送至区块链网络43中的某一区块链节点43n,而该区块链节点43n可以进一步将该区块链交易传递至区块链网络43中的其他区块链节点,使得所有区块链节点可以针对该区块链交易进行共识、执行、上链等操作,并生成相应的交易回执。如果收到的处理请求为压测请求,区块链客户端42针对上述的区块链网络44创建对应于该压测请求的区块链交易,并将该区块链交易发送至区块链网络44,比如区块链客户端42可以将区块链交易发送至区块链网络44中的某一区块链节点44n,而该区块链节点44n可以进一步将该区块链交易传递至区块链网络44中的其他区块链节点,使得所有区块链节点可以针对该区块链交易进行共识、执行、上链等操作,并生成相应的交易回执。
步骤204,在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录。
如前所述,处理请求可以为业务请求或压测请求。业务系统可以在业务请求中添加业务标签,使得区块链客户端可以将包含业务标签的处理请求识别为业务请求,而将未包含业务标签的处理请求识别为压测请求。或者,业务系统可以在压测请求中添加压测标签,使得区块链客户端可以将包含压测标签的处理请求识别为压测请求,而将未包含压测请求的处理请求识别为业务请求。或者,业务系统可以同时在业务请求中添加业务标签、在压测请求中添加压测标签,使得区块链客户端可以将包含业务标签的处理请求识别为业务请求、将包含压测标签的处理请求识别为压测请求。当然,业务系统还可以通过其他方式对处理请求的类型进行标记,而区块链客户端也可以采用相应的其他方式对处理请求的类型进行准确识别,本说明书并不对此进行限制。
通过为压测请求对应的区块链交易生成压测记录,使得该压测记录可以用于表明相应的区块链交易对应于压测请求、而非对应于业务请求。类似地,也可以为业务请求对应的区块链交易生成业务记录,使得该业务记录可以用于表明相应的区块链交易对应于业务请求、而非对应于压测请求。
以压测记录为例。压测记录可以存在多种表征形式。例如,压测记录可以为压测请求的信息与区块链交易的信息之间的映射关系,比如压测请求的信息可以为该压测请求的请求ID、区块链交易的信息可以为该区块链交易的交易哈希或交易流水号等,本说明书并不对此进行限制。再例如,压测记录可以为区块链交易列表,该区块链交易列表专用于记录压测请求对应的区块链交易。
步骤206,根据所述压测记录和获取到的交易回执对应的区块链交易的信息,确定所述交易回执对应的处理请求是否为压测请求。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。区块链客户端在生成区块链交易时,可以按照相关技术中的方式进行处理,无需实施区别于相关技术的特殊处理,使得无需针对区块链网络实施任何硬件架构或软件功能方面的改进,因而无论是上述的公有链、私有链或联盟链,均可以适用于本说明书的技术方案。
虽然区块链交易和交易回执中均未携带类似于上文所述的压测标签或业务标签,但是区块链客户端可以根据交易回执确定其对应的区块链交易,并进而结合上述的压测记录,从而准确识别出该交易回执或区块链交易对应于压测请求还是业务请求。
例如,当压测记录为压测请求的请求ID与区块链交易的交易哈希之间的映射关系时,区块链客户端在收到交易回执后可以确定出相应的区块链交易,并基于该区块链交易的交易哈希和上述的映射关系进行查询:如果查询到某一相匹配的映射关系,即可确定收到的交易回执对应于压测请求。当然,还可以基于相匹配的映射关系确定相应的请求ID,并基于该请求ID获取相应的处理请求,进而通过读取该处理请求中是否包含压测请求或业务请求,从而进一步确定该处理请求是否确实为压测请求。再例如,当压测记录为区块链交易列表时,区块链客户端在收到交易回执后可以确定出相应的区块链交易,并基于该区块链交易的交易哈希查询上述的区块链交易列表,从而在查询到该区块链交易的交易哈希的情况下,确认该区块链交易或其交易回执对应于压测请求。
区块链客户端可以通过与目标区块链网络中的某一区块链节点之间建立连接,从而向该区块链节点提交区块链交易,该区块链节点可以为如图3所示的区块链节点33n,也可以为如图4所示的区块链节点43n或区块链节点44n。以区块链节点33n为例,区块链客户端32与该区块链节点33n之间建立的连接可以为长连接,使得区块链节点33n执行上述区块链交易、生成相应的交易回执之后,可以产生相应的交易回执生成事件,而区块链客户端32可以通过监听该交易回执生成事件获知交易回执已生成(即事件监听机制),并基于上述的长连接获取该交易回执;当然,也可以由区块链节点33n自身通过上述的事件监听机制来监听交易回执生成事件,并通过上述的长连接将交易回执反馈至区块链客户端32,使得该区块链客户端32获得交易回执。或者,如果区块链客户端32与区块链节点33n之间建立的连接并非长连接或者所建立的长连接断开,区块链客户端32需要额外通过发起一笔查询交易,以查询上述区块链交易对应的交易回执。其中,该查询交易可以为常规的区块链交易,使得区块链网络33中的所有区块链节点均需针对该查询交易进行获取、共识、执行、上链等操作,而区块链客户端32可以通过上述方式与某一区块链节点建立长连接,并基于上述的事件监听机制从该区块链节点处获取交易回执;或者,该查询交易可以为特殊交易,譬如区块链客户端32可以仅与区块链节点33n建立长连接并发送该查询交易,那么该查询交易仅会被区块链节点33n获取并执行,该查询交易无需参与共识且不需要上链,甚至无需被其他区块链节点获取,然后区块链客户端32可以基于如前所述的事件监听机制获取交易回执。
通过识别出交易回执对应的处理请求是否属于压测请求,区块链客户端可以针对交易回执采取差异化的处理。比如,在交易回执对应的处理请求为压测请求的情况下,区块链客户端可以针对该交易回执添加特征标识后反馈至业务系统,而在交易回执对应的处理请求为业务请求的情况下,区块链客户端可以直接将该交易回执反馈至业务系统;相应地,业务系统可以基于该特征标识确定相应的交易回执是否对应于压测请求,从而将交易回执存储至不同的数据库。例如图3所示,区块链客户端32在确定交易回执对应于压测请求的情况下,基于该交易回执生成压测响应,该压测响应可以包含该交易回执和上述的特征标识,以及区块链客户端32在确定交易回执对应于业务请求的情况下,基于该交易回执生成业务响应,该业务响应可以仅包含该交易回执而不包含特征标识;相应地,业务系统31在收到区块链客户端32返回的压测响应或业务响应后,可以将压测响应存储至压测数据库、将业务响应存储至业务数据库,后续可以从压测数据库获取对应于压测请求的交易回执,以分析确定区块链网络33的压测结果。再例如图4所示,区块链客户端42在确定交易回执对应于压测请求的情况下,基于该交易回执生成压测响应,该压测响应可以包含该交易回执和上述的特征标识,以及区块链客户端42在确定交易回执对应于业务请求的情况下,基于该交易回执生成业务响应,该业务响应可以仅包含该交易回执而不包含特征标识;相应地,业务系统41在收到区块链客户端42返回的压测响应或业务响应后,可以将压测响应存储至压测数据库、将业务响应存储至业务数据库,后续可以从压测数据库获取对应于压测请求的交易回执,以分析确定针对区块链网络44的压测结果。
图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行,在逻辑层面上形成区块链网络的压力测试装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,在软件实施方式中,该区块链网络的压力测试装置可以包括:
交易创建单元61,响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;
关系记录单元62,在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录;
类型确定单元63,根据所述压测记录和获取到的交易回执对应的区块链交易的信息,确定所述交易回执对应的处理请求是否为压测请求。
可选的,所述交易创建单元61具体用于:
在所述处理请求为所述压测请求的情况下,针对处于生产状态的目标区块链网络对应的对等区块链网络创建对应于所述处理请求的第一区块链交易,且第一区块链交易被发送至所述对等区块链网络;
在所述处理请求为区别于所述压测请求的业务请求的情况下,针对所述目标区块链网络创建对应于所述处理请求的第二区块链交易,且第二区块链交易被发送至所述目标区块链网络。
可选的,所述对等区块链网络与所述目标区块链网络具有相同的网络结构和网络配置。
可选的,所述交易创建单元61具体用于:
针对处于生产状态的目标区块链网络创建对应于所述处理请求的区块链交易,且所述区块链交易被发送至所述目标区块链网络。
可选的,所述压测记录中包含区块链交易的信息;所述区块链交易的信息包括:所述区块链交易的交易哈希。
可选的,所述处理请求为压测请求或业务请求;其中,所述压测请求中包含压测标签,和/或所述业务请求中包含业务标签。
可选的,还包括:
回执反馈单元64,在所述交易回执对应的处理请求为压测请求的情况下,针对所述交易回执添加特征标识后反馈至所述业务系统;在所述交易回执对应的处理请求为区别于所述压测请求的业务请求的情况下,直接将所述交易回执反馈至所述业务系统。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (12)
1.一种区块链网络的压力测试系统,包括:
区块链客户端,响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录,所述压测记录包括压测请求的信息与区块链交易的信息之间的映射关系;以及,在根据所述压测记录和获取到的交易回执对应的区块链交易的信息确定出所述交易回执对应的处理请求为压测请求的情况下,针对所述交易回执添加特征标识;
区块链网络,接收并执行所述区块链客户端提交的区块链交易,并生成对应于所述区块链交易的交易回执;
业务系统,向所述区块链客户端发送所述处理请求,并接收所述区块链客户端返回的交易回执;在根据所述特征标识确定所述交易回执对应于压测请求的情况下,将所述交易回执存储至压测数据库,在所述交易回执对应的处理请求为区别于所述压测请求的业务请求的情况下,将所述交易回执存储至业务数据库。
2.一种区块链网络的压力测试系统,包括:
区块链客户端,响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录,所述压测记录包括压测请求的信息与区块链交易的信息之间的映射关系;以及,在根据所述压测记录和获取到的交易回执对应的区块链交易的信息确定出所述交易回执对应的处理请求为压测请求的情况下,针对所述交易回执添加特征标识;
第一区块链网络,接收所述区块链客户端提交的对应于压测请求的第一区块链交易,执行并生成对应于第一区块链交易的交易回执;
第二区块链网络,接收所述区块链客户端提交的第二区块链交易,第二区块链交易对应的处理请求为区别于所述压测请求的业务请求;执行并生成对应于第二区块链交易的交易回执;
业务系统,向所述区块链客户端发送所述处理请求,并接收所述区块链客户端返回的交易回执;在根据所述特征标识确定所述交易回执对应于压测请求的情况下,将所述交易回执存储至压测数据库,在所述交易回执对应于业务请求的情况下,将所述交易回执存储至业务数据库。
3.一种区块链网络的压力测试方法,应用于区块链客户端,所述方法包括:
响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;
在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录,所述压测记录包括压测请求的信息与区块链交易的信息之间的映射关系;
根据所述压测记录和获取到的交易回执对应的区块链交易的信息,确定所述交易回执对应的处理请求是否为压测请求。
4.根据权利要求3所述的方法,所述创建对应于所述处理请求的区块链交易,包括:
在所述处理请求为所述压测请求的情况下,针对处于生产状态的目标区块链网络对应的对等区块链网络创建对应于所述处理请求的第一区块链交易,且第一区块链交易被发送至所述对等区块链网络;
在所述处理请求为区别于所述压测请求的业务请求的情况下,针对所述目标区块链网络创建对应于所述处理请求的第二区块链交易,且第二区块链交易被发送至所述目标区块链网络。
5.根据权利要求4所述的方法,所述对等区块链网络与所述目标区块链网络具有相同的网络结构和网络配置。
6.根据权利要求3所述的方法,所述创建对应于所述处理请求的区块链交易,包括:
针对处于生产状态的目标区块链网络创建对应于所述处理请求的区块链交易,且所述区块链交易被发送至所述目标区块链网络。
7.根据权利要求3所述的方法,所述压测记录中包含区块链交易的信息;所述区块链交易的信息包括:所述区块链交易的交易哈希。
8.根据权利要求3所述的方法,所述处理请求为压测请求或业务请求;其中,所述压测请求中包含压测标签,和/或所述业务请求中包含业务标签。
9.根据权利要求3所述的方法,还包括:
在所述交易回执对应的处理请求为压测请求的情况下,针对所述交易回执添加特征标识后反馈至所述业务系统;
在所述交易回执对应的处理请求为区别于所述压测请求的业务请求的情况下,直接将所述交易回执反馈至所述业务系统。
10.一种区块链网络的压力测试装置,应用于区块链客户端,所述装置包括:
交易创建单元,响应于来自业务系统的处理请求,创建对应于所述处理请求的区块链交易;
关系记录单元,在所述处理请求为压测请求的情况下,为所述压测请求对应的区块链交易生成压测记录,所述压测记录包括压测请求的信息与区块链交易的信息之间的映射关系;
类型确定单元,根据所述压测记录和获取到的交易回执对应的区块链交易的信息,确定所述交易回执对应的处理请求是否为压测请求。
11.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求3-9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求3-9中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010585455.XA CN111488291B (zh) | 2020-06-24 | 2020-06-24 | 区块链网络的压力测试方法及装置、系统 |
PCT/CN2021/100779 WO2021259149A1 (zh) | 2020-06-24 | 2021-06-18 | 区块链网络的压力测试方法及装置、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010585455.XA CN111488291B (zh) | 2020-06-24 | 2020-06-24 | 区块链网络的压力测试方法及装置、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488291A CN111488291A (zh) | 2020-08-04 |
CN111488291B true CN111488291B (zh) | 2020-10-30 |
Family
ID=71813527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010585455.XA Active CN111488291B (zh) | 2020-06-24 | 2020-06-24 | 区块链网络的压力测试方法及装置、系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111488291B (zh) |
WO (1) | WO2021259149A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478828B (zh) * | 2020-06-24 | 2020-10-20 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、系统 |
CN111478829B (zh) * | 2020-06-24 | 2020-10-30 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、系统 |
CN111488291B (zh) * | 2020-06-24 | 2020-10-30 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、系统 |
CN111478827B (zh) * | 2020-06-24 | 2020-12-04 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、系统 |
CN114338452A (zh) * | 2021-12-31 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 区块链子网的压力测试方法及装置、系统 |
CN114615171B (zh) * | 2022-03-16 | 2024-01-30 | 网易(上海)网络有限公司 | 云游戏服务器的压测处理方法、设备、介质及程序产品 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9934138B1 (en) * | 2016-12-07 | 2018-04-03 | International Business Machines Corporation | Application testing on a blockchain |
CN109165168A (zh) * | 2018-09-14 | 2019-01-08 | 杭州云创共享网络科技有限公司 | 一种压力测试方法、装置、设备及介质 |
US11301602B2 (en) * | 2018-11-13 | 2022-04-12 | Gauntlet Networks, Inc. | Simulation-based testing of blockchain and other distributed ledger systems |
CN109753434A (zh) * | 2018-12-26 | 2019-05-14 | 中链科技有限公司 | 基于区块链的性能测试方法、装置、电子设备及存储介质 |
CN109753418B (zh) * | 2018-12-28 | 2022-07-12 | 金蝶软件(中国)有限公司 | 性能测试方法、装置、计算机设备和存储介质 |
CN110598446B (zh) * | 2019-09-16 | 2024-06-28 | 腾讯科技(深圳)有限公司 | 基于区块链的测试方法、装置、存储介质和计算机设备 |
CN111290907A (zh) * | 2020-01-14 | 2020-06-16 | 深圳市网心科技有限公司 | 分布式存储网络压测方法及装置、计算机装置及存储介质 |
CN111488291B (zh) * | 2020-06-24 | 2020-10-30 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、系统 |
-
2020
- 2020-06-24 CN CN202010585455.XA patent/CN111488291B/zh active Active
-
2021
- 2021-06-18 WO PCT/CN2021/100779 patent/WO2021259149A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021259149A1 (zh) | 2021-12-30 |
CN111488291A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488291B (zh) | 区块链网络的压力测试方法及装置、系统 | |
CN108415784B (zh) | 跨区块链的交互方法及装置、系统、电子设备 | |
TWI762818B (zh) | 基於區塊鏈的發票創建方法及裝置、電子設備 | |
US10311230B2 (en) | Anomaly detection in distributed ledger systems | |
CN110046998B (zh) | 跨链用权系统及方法、装置、电子设备、存储介质 | |
CN111914023B (zh) | 基于区块链的票据管理方法、装置及电子设备 | |
CN111478828B (zh) | 区块链网络的压力测试方法及装置、系统 | |
CN111898139B (zh) | 数据读写方法及装置、电子设备 | |
CN108985742B (zh) | 交易处理方法、装置及区块链系统 | |
CN110020854B (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
CN112486830B (zh) | 区块链网络的压力测试方法及装置、系统 | |
CN111475501B (zh) | 区块链网络的数据清理方法及装置 | |
CN110704418A (zh) | 区块链信息查询方法、装置和设备 | |
CN111478827B (zh) | 区块链网络的压力测试方法及装置、系统 | |
CN112070504B (zh) | 区块链交易的内容检查方法及装置 | |
CN111815454A (zh) | 数据上链方法及装置、电子设备、存储介质 | |
CN113220717A (zh) | 基于区块链的数据核验方法及装置、电子设备 | |
CN113469815A (zh) | 数据管理方法及装置 | |
WO2024021409A1 (zh) | 数据检索方法及装置 | |
WO2022183913A1 (zh) | 基于区块链的物权交互 | |
CN114757777A (zh) | 用于区块链的最优链路选择方法及装置和电子设备 | |
CN112434264A (zh) | 基于区块链的侵权处理方法及装置、电子设备 | |
CN113987566B (zh) | 基于Hyperledger Fabric的内部桥接跨链方法、装置、设备和介质 | |
CN116841871A (zh) | 针对区块链的测试方法、装置、设备和存储介质 | |
CN116302436A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40034127 Country of ref document: HK |