CN116909931A - 一种针对Fabric区块链的性能检测系统 - Google Patents

一种针对Fabric区块链的性能检测系统 Download PDF

Info

Publication number
CN116909931A
CN116909931A CN202311168209.4A CN202311168209A CN116909931A CN 116909931 A CN116909931 A CN 116909931A CN 202311168209 A CN202311168209 A CN 202311168209A CN 116909931 A CN116909931 A CN 116909931A
Authority
CN
China
Prior art keywords
blockchain
organization
pressure measurement
block chain
module
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.)
Granted
Application number
CN202311168209.4A
Other languages
English (en)
Other versions
CN116909931B (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.)
Guangzhou Civil Aviation Information Technology Co ltd
Original Assignee
Guangzhou Civil Aviation Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Civil Aviation Information Technology Co ltd filed Critical Guangzhou Civil Aviation Information Technology Co ltd
Priority to CN202311168209.4A priority Critical patent/CN116909931B/zh
Publication of CN116909931A publication Critical patent/CN116909931A/zh
Application granted granted Critical
Publication of CN116909931B publication Critical patent/CN116909931B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • G06F16/2379Updates performed during online database operations; commit processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种针对Fabric区块链的性能检测系统,涉及区块链性能检测技术领域,本申请主要的技术方案为:模拟模块,用于根据目标区块链的指定组织结构和网络状况模拟生成待测区块链,所述指定组织结构用于表征所述目标区块链中的全部或部分组织结构;测试模块,用于利用预置的压测用例对所述待测区块链进行测试,以获得对应的测试结果,所述压测用例为基于压测参数配置的多个压测场景所构成的用例,所述压测参数至少包括交易背书策略。主要目的在于准确检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,从而明确反应出Fabric区块链中组织结构和背书策略等因素对系统性能的影响。

Description

一种针对Fabric区块链的性能检测系统
技术领域
本申请涉及区块链性能检测技术领域,尤其涉及一种针对Fabric区块链的性能检测系统。
背景技术
区块链的记账系统是一种分布式记账系统,具有去中心化、不可篡改的特性,通过p2p技术和共识算法保证各个节点都维护同样的数据账本。在工业生产、金融等各个方面展现出越来越多的应用前景,而区块链的系统性能则是其应用中至关重要的因素。
目前,现有技术中对于区块链性能的检测主要针对区块链的交易性能,如吞吐量、延迟时长、内存消耗等进行检测和统计,但对于交易流程存在较大区别的Fabric区块链并不完全适用,由于Fabric区块链是一种联盟链,且每笔交易需要根据背书策略获得各个组织的签名才能完成,也就是说,单纯基于交易性能无法检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异。因此,亟待一种针对Fabric区块链的性能检测系统。
发明内容
鉴于上述问题,本申请提供一种针对Fabric区块链的性能检测系统,主要目的是准确检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,从而明确反应出Fabric区块链中组织结构和背书策略等因素对系统性能的影响。
为解决上述技术问题,本申请提出以下方案:
第一方面,本申请提供了一种针对Fabric区块链的性能检测系统,所述系统包括:
模拟模块,用于根据目标区块链的指定组织结构和网络状况模拟生成待测区块链,所述指定组织结构用于表征所述目标区块链中的全部或部分组织结构;
测试模块,用于利用预置的压测用例对所述待测区块链进行测试,以获得对应的测试结果,所述压测用例为基于压测参数配置的多个压测场景所构成的用例,所述压测参数至少包括交易背书策略。
进一步地,所述系统还包括:
第一确定模块,用于在所述模拟模块之前确定所述目标区块链中的参与组织,其中,所述参与组织的数量至少为一个;
第二确定模块,用于根据所述参与组织中的各个节点的身份信息确定所述指定组织结构;
第三确定模块,用于根据所述参与组织中的各个节点对应的网络参数确定所述网络状况。
进一步地, 所述网络参数至少包括节点吞吐量、节点间通信延迟以及节点活性中的一种。
进一步地,所述压测参数还包括交易数量、交易调用合约中的至少一种。
进一步地,所述系统还包括:
第四确定模块,用于在所述测试模块之前确定所述待测区块链对应的所述压测参数;
配置模块,用于根据所述第四确定模块获得的所述压测参数配置多个所述压测场景;
生成模块,用于基于所述配置模块获得的多个所述压测场景生成所述待测区块链对应的所述压测用例。
进一步地,所述系统还包括:
数据采集模块,用于按照所述测试模块获得的所述交易背书策略对所述测试结果进行分类统计,以获得对应的性能结果,所述性能结果用于表征不同所述交易背书策略下的性能情况。
第二方面,本申请提供了一种针对Fabric区块链的性能检测方法,应用于针对Fabric区块链的性能检测系统,所述方法包括:
根据目标区块链的指定组织结构和网络状况模拟生成待测区块链,所述指定组织结构用于表征所述目标区块链中的全部或部分组织结构;
利用预置的压测用例对所述待测区块链进行测试,以获得对应的测试结果,所述压测用例为基于压测参数配置的多个压测场景所构成的用例,所述压测参数至少包括交易背书策略。
进一步地,在所述根据目标区块链的组织结构和网络状况模拟生成待测区块链之前,所述方法还包括:
确定所述目标区块链中的参与组织,其中,所述参与组织的数量至少为一个;
根据所述参与组织中的各个节点的身份信息确定所述指定组织结构;
根据所述参与组织中的各个节点对应的网络参数确定所述网络状况。
进一步地,所述网络参数至少包括节点吞吐量、节点间通信延迟以及节点活性中的一种。
进一步地,所述压测参数还包括交易数量、交易调用合约中的至少一种。
进一步地,在所述利用预置的压测用例对所述待测区块链进行测试,以获得对应的测试结果之前,所述方法还包括:
确定所述待测区块链对应的所述压测参数;
根据所述压测参数配置多个所述压测场景;
基于多个所述压测场景生成所述待测区块链对应的所述压测用例。
进一步地,所述方法还包括:
按照所述交易背书策略对所述测试结果进行分类统计,以获得对应的性能结果,所述性能结果用于表征不同所述交易背书策略下的性能情况。
针对Fabric区块链的性能检测为了实现上述目的,根据本申请的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第一方面的针对Fabric区块链的性能检测方法。
为了实现上述目的,根据本申请的第四方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述第一方面的针对Fabric区块链的性能检测方法。
借由上述技术方案,本申请提供的一种针对Fabric区块链的性能检测系统,是在需要对Fabric区块链进行性能检测时,首先通过模拟模块根据目标区块链的指定组织结构和网络状况模拟生成待测区块链,指定组织结构用于表征目标区块链中的全部或部分组织结构,然后通过测试模块利用预置的压测用例对待测区块链进行测试,以获得对应的测试结果,压测用例为基于压测参数配置的多个压测场景所构成的用例,压测参数至少包括交易背书策略。通过本申请提供的技术方案,能够灵活地改变模拟Fabric区块链的组织结构和交易的背书策略,准确的获得各种背书策略对应情况下的系统性能,从而检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,进而明确反应Fabric区块链中组织结构和背书策略等因素对系统性能的影响。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1示出了本申请实施例提供的一种Fabric区块链的性能检测方法流程图。
图2示出了本申请实施例提供的另一种Fabric区块链的性能检测方法流程图。
图3示出了本申请实施例提供的一种Fabric区块链的性能检测系统的组成框图。
图4示出了本申请实施例提供的另一种Fabric区块链的性能检测系统的组成框图。
其中:
101-根据目标区块链的指定组织结构和网络状况模拟生成待测区块链;102-利用预置的压测用例对待测区块链进行测试以获得对应的测试结果;201-确定目标区块链中的参与组织;202-根据参与组织中的各个节点的身份信息确定指定组织结构;203-根据参与组织中的各个节点对应的网络参数确定网络状况;204-根据目标区块链的指定组织结构和网络状况模拟生成待测区块链;205-利用预置的压测用例对待测区块链进行测试以获得对应的测试结果;206-按照交易背书策略对测试结果进行分类统计以获得对应的性能结果;31-模拟模块;32-测试模块;33-第一确定模块;34-第二确定模块;35-第三确定模块;36-第四确定模块;37-配置模块;38-生成模块;39-数据采集模块。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
目前,现有技术中对于区块链性能的检测主要针对区块链的交易性能,如吞吐量、延迟时长、内存消耗等进行检测和统计,但对于交易流程存在较大区别的Fabric区块链并不完全适用,由于Fabric区块链是一种联盟链,且每笔交易需要根据背书策略获得各个组织的签名才能完成,也就是说,单纯基于交易性能无法检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异。而本申请通过对待测的Fabric区块链的灵活模拟,即改变模拟Fabric区块链的组织结构和交易的背书策略,准确的获得各种背书策略对应情况下的系统性能,从而检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,进而明确反应Fabric区块链中组织结构和背书策略等因素对系统性能的影响。
为此,本申请实施例提供了一种针对Fabric区块链的性能检测方法,通过该方法能够准确检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,从而明确反应出Fabric区块链中组织结构和背书策略等因素对系统性能的影响。其具体执行步骤如图1所示,包括:
101、根据目标区块链的指定组织结构和网络状况模拟生成待测区块链。
需要说明的是,目标区块链即为本次需要检测的Fabric区块链,而组织结构则具体指目标区块链中各个节点之间所组成的结构,而其中,指定组织结构用于表征目标区块链中的全部或部分组织结构,即在模拟过程中,可能去除一些非必要或不需要的组织,具体可根据用户的测试需求灵活部署,从而使得模拟更加快捷高效,具体的,指定组织结构可以从目标区块链的配置信息中获取,配置信息可以是配置文件的形式,也可以是代码的形式。配置文件可以降低使用的学习成本,操作更简单灵活,代码形式则更利于定制化,而网络状况则是表征目标区块链中各个节点之间的网络参数,其包括但不限于节点吞吐量、节点间通信延迟以及节点活性等,在本实施例中,对于指定组织结构可基于Docker技术进行模拟,开发者可以将指定组织结构对应的节点的应用以及依赖包设置于可移植的镜像中,从而实现虚拟化,此时待测区块链中的各个节点可以具有自己独立的root文件系统、网络配置、进程空间,甚至自己的用户ID空间等等,从而为设置复杂的节点逻辑提供技术基础,相应的,对于网络状况则可以基于指定组织结构对应的网络拓扑结构进行虚拟仿真,从而对待测区块链中的各个节点提供底层网络,即设置每个区块链节点对应的虚拟网络节点,从而模拟生成一个与目标区块链的组织结构和网络状况一致的待测区块链,也可以根据调整组织结构和网络状况对应的参数,以此达到调整优化现有系统的目的,即生成一个目标区块链的测试环境,或目标区块链优化后的测试环境,以便执行后续步骤102。
102、利用预置的压测用例对待测区块链进行测试,以获得对应的测试结果。
需要说明的是,在本实施例中,压测用例可以是一个,也可以是多个,可以是预先配置好不同的压测用例并存储以便后续调用,也可以在每次测试前自动生成配置页面实时配置本次所使用的压测用例,对此,本实施例不做限定,而压测用例为基于压测参数配置的多个压测场景所构成的用例,压测参数至少包括交易背书策略,交易背书策略可以理解为是对交易进行背书必须满足的条件,即要得到背书成功的结论,必须满足背书策略中给出的条件。对于Fabric区块链,所有的交易都必须依据背书策略进行交易,因为只有经过背书处理的交易才是合法、被认可的交易。因此背书策略也可以说就是用来指导被选中的节点(背书节点)如何决策交易是否正确的条件,而不同的背书策略可包括交易需要任意数量、任意不同的组织的背书签名。示例性的,节点A/B/C/F都需要对类型为T的交易进行背书、所有节点必须对类型为U的交易进行背书、节点A/B/C/D/E/F至少3个节点必须对类型为V的交易进行背书等,其是可以根据待测区块链中节点数量和类型自行配置的,从而构建出不同的压测场景,且压测场景的数量不限制,从而基于压测用例准确的获得各种背书策略对应情况下的系统性能,并且待测区块链是步骤101中基于指定组织结构模拟生成的,从而检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,进而明确反应Fabric区块链中组织结构和背书策略等因素对系统性能的影响。
而需要强调的是,压测参数还可以包括但不限于发包速度、执行时长交易数量、交易调用合约等条件,具体可配合交易背书策略共同构建压测场景,从而使得压测用例的构建更加真实,进而使得测试结果更加准确。
基于上述图1的实现方式可以看出,本申请提供的一种针对Fabric区块链的性能检测方法,是在需要对Fabric区块链进行性能检测时,首先根据目标区块链的指定组织结构和网络状况模拟生成待测区块链,指定组织结构用于表征目标区块链中的全部或部分组织结构;然后利用预置的压测用例对待测区块链进行测试,以获得对应的测试结果,压测用例为基于压测参数配置的多个压测场景所构成的用例,压测参数至少包括交易背书策略。通过本申请提供的技术方案,能够根据待测的Fabric区块链灵活地改变模拟Fabric区块链的组织结构和交易的背书策略,准确的获得各种背书策略对应情况下的系统性能,从而检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,进而明确反应Fabric区块链中组织结构和背书策略等因素对系统性能的影响。
进一步的,本申请优选实施例是在上述图1的基础上,针对Fabric区块链的性能检测的过程进行的详细说明,其具体步骤如图2所示,包括:
201、确定目标区块链中的参与组织。
其中,参与组织的数量至少为一个。需要说明的是,由于在实际的应用环境中,区块链中的节点有多种不同的类型,可以根据以下几个方面划分:程序编写语言、合法性、节点功能、节点版本、逻辑区域、访问和管理权限等等,因此,可以根据节点的类型对本次模拟生成的待测区块链所需要的组织进行选择,例如可以去除非必要或根据用户需求不涉及的节点所对应的组织,具体的,可以设置一个自定义界面,该界面具有目标区块链对应的所有组织等配置信息,用户可根据该自定义界面进行自主配置、选取等,从而确定出本次模拟待测区块链需要的组织,即参与组织,以便执行后续步骤202。
202、根据参与组织中的各个节点的身份信息确定指定组织结构。
需要说明的是,在本步骤中,由于参与组织已经确定,而其对应的节点也可以直接确定,因此,即可根据参与组织中的各个节点的身份信息确定指定组织结构,其中,身份信息包括节点名称、节点关系等,使得指定组织结构中的各个节点与目标区块链中的参与组织一致,以保证后续测试的真实性和准确性。
203、根据参与组织中的各个节点对应的网络参数确定网络状况。
在本步骤中,由于参与组织已经确定,因此,仅需确定参与组织中的各个节点对应的网络参数即可,即基于参与组织中的各个节点对应的网络拓扑结构进行虚拟仿真,以提供底层网络即可,而该网络参数具体包括节点吞吐量、节点间通信延迟以及节点活性等,需要说明的是,在本实施例中,由于网络状态也是对待测区块链系统性能产生影响的因素,因此,为了模拟的一致性,可以根据上述三种参数中涉及到的至少一种进行确定,即可以选择任意一种或至少一种的任意组合,从而使得网络状况的确定更加真实。
204、根据目标区块链的指定组织结构和网络状况模拟生成待测区块链。
本步骤结合上述方法中101步骤的描述,在此相同的内容不赘述。
205、利用预置的压测用例对待测区块链进行测试,以获得对应的测试结果。
本步骤结合上述方法中102步骤的描述,在此相同的内容不赘述。而需要说明的是,由于压测用例可以是预先配置好不同的压测用例并存储以便后续调用,也可以在每次测试前自动生成配置页面实时配置本次所使用的压测用例,因此,为了保证压测用例的使用时效性,具体的,在步骤205之前,确定待测区块链对应的压测参数;根据压测参数配置多个压测场景;基于多个压测场景生成待测区块链对应的压测用例。
其中,压测参数除了交易背书策略外,还包括但不限于发包速度、执行时长交易数量、交易调用合约等条件,具体可配合交易背书策略共同构建压测场景,背书策略包括以下至少之一:一个组织的背书签名、多个组织中的一个组织背书签名、多个组织的背书签名,从而使得压测用例的构建更加真实,进而使得测试结果更加准确,而对于压测参数的确定,可以根据用户需求自定义,也可以参考目标区块链的实际交易数据进行确定,即根据目标区块链的实际交易数据中涉及频率的高低进行确定,对此,本实施例不做限定,同样的,为了用户操作的便捷性,还可以设置另一个自定义界面,该界面具有压测参数对应的参数项,通过用户对压测参数的配置,构建多个压测场景,并基于该多个压测场景生成待测区块链对应的压测用例,而为了保证测试的平顺,可以根据压测场景涉及到的压测参数的项数对多个压测场景进行难度划分,并设置优先级或顺序等。
206、按照交易背书策略对测试结果进行分类统计,以获得对应的性能结果。
其中,性能结果用于表征不同交易背书策略下的性能情况。需要说明的是,由于在本实施例中,压测用例中所涉及的压测参数至少包括交易背书策略,也就说明,压测用例对应的测试结果也是以交易背书策略为主导因素而得到的结果,因此,为了使测试结果更加规范,以便反馈给用户时,使用户能够更加直观地对测试结果进行获知,可以按照交易背书策略对测试结果进行分类统计,以获得对应的性能结果,即得到不同交易背书策略下的性能情况,而该性能情况即为反映目标区块链中在不同交易背书策略下的系统性能,仅需与基于交易性能测试目标区块链的系统性能的测试结果进行对比,即可得到二者的系统性能差异,即准确的获得各种背书策略对应情况下的系统性能,从而检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,进而明确反应Fabric区块链中组织结构和背书策略等因素对系统性能的影响。
进一步的,作为对上述图1-2所示方法实施例的实现,本申请实施例提供了一种针对Fabric区块链的性能检测系统,该系统用于准确检测出Fabric区块链在不同组织结构和背书策略下的系统性能差异,从而明确反应出Fabric区块链中组织结构和背书策略等因素对系统性能的影响。该系统的实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的系统能够对应实现前述方法实施例中的全部内容。具体如图3所示,该系统包括:
模拟模块31,用于根据目标区块链的指定组织结构和网络状况模拟生成待测区块链,所述指定组织结构用于表征所述目标区块链中的全部或部分组织结构;
测试模块32,用于利用预置的压测用例对所述模拟模块31获得的所述待测区块链进行测试,以获得对应的测试结果,所述压测用例为基于压测参数配置的多个压测场景所构成的用例,所述压测参数至少包括交易背书策略。
进一步地,如图4所示,所述系统还包括:
第一确定模块33,用于在所述模拟模块31之前确定所述目标区块链中的参与组织,其中,所述参与组织的数量至少为一个;
第二确定模块34,用于根据所述第一确定模块33获得的所述参与组织中的各个节点的身份信息确定所述指定组织结构;
第三确定模块35,用于根据所述第一确定模块33获得的所述参与组织中的各个节点对应的网络参数确定所述网络状况。
进一步地,如图4所示,
所述网络参数至少包括节点吞吐量、节点间通信延迟以及节点活性中的一种。
进一步地,如图4所示,
所述压测参数还包括交易数量、交易调用合约中的至少一种。
进一步地,如图4所示,所述系统还包括:
第四确定模块36,用于在所述测试模块32之前确定所述待测区块链对应的所述压测参数;
配置模块37,用于根据所述第四确定模块36获得的所述压测参数配置多个所述压测场景;
生成模块38,用于基于所述配置模块37获得的多个所述压测场景生成所述待测区块链对应的所述压测用例。
进一步地,如图4所示,所述系统还包括:
数据采集模块39,用于按照所述测试模块32获得的所述交易背书策略对所述测试结果进行分类统计,以获得对应的性能结果,所述性能结果用于表征不同所述交易背书策略下的性能情况。
进一步的,本申请实施例还提供一种存储介质,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述图1-2中所述的针对Fabric区块链的性能检测方法。
进一步的,本申请实施例还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述图1-2中所述的针对Fabric区块链的性能检测方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及系统中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种针对Fabric区块链的性能检测系统,其特征在于,所述系统包括:
模拟模块,用于根据目标区块链的指定组织结构和网络状况模拟生成待测区块链,所述指定组织结构用于表征所述目标区块链中的全部或部分组织结构;
测试模块,用于利用预置的压测用例对所述待测区块链进行测试,以获得对应的测试结果,所述压测用例为基于压测参数配置的多个压测场景所构成的用例,所述压测参数至少包括交易背书策略。
2.根据权利要求1中所述的一种针对Fabric区块链的性能检测系统,其特征在于,所述系统还包括:
第一确定模块,用于在所述模拟模块之前确定所述目标区块链中的参与组织,其中,所述参与组织的数量至少为一个;
第二确定模块,用于根据所述参与组织中的各个节点的身份信息确定所述指定组织结构;
第三确定模块,用于根据所述参与组织中的各个节点对应的网络参数确定所述网络状况。
3.根据权利要求2中所述的一种针对Fabric区块链的性能检测系统,其特征在于,
所述网络参数至少包括节点吞吐量、节点间通信延迟以及节点活性中的一种。
4.根据权利要求1中所述的一种针对Fabric区块链的性能检测系统,其特征在于,
所述压测参数还包括交易数量、交易调用合约中的至少一种。
5.根据权利要求4中所述的一种针对Fabric区块链的性能检测系统,其特征在于,所述系统还包括:
第四确定模块,用于在所述测试模块之前确定所述待测区块链对应的所述压测参数;
配置模块,用于根据所述第四确定模块获得的所述压测参数配置多个所述压测场景;
生成模块,用于基于所述配置模块获得的多个所述压测场景生成所述待测区块链对应的所述压测用例。
6.根据权利要求1-5中任一项所述的一种针对Fabric区块链的性能检测系统,其特征在于,所述系统还包括:
数据采集模块,用于按照所述测试模块获得的所述交易背书策略对所述测试结果进行分类统计,以获得对应的性能结果,所述性能结果用于表征不同所述交易背书策略下的性能情况。
7.一种针对Fabric区块链的性能检测方法,应用于所述权利要求1-6任一项所述的针对Fabric区块链的性能检测系统,其特征在于,所述方法包括:
根据目标区块链的指定组织结构和网络状况模拟生成待测区块链,所述指定组织结构用于表征所述目标区块链中的全部或部分组织结构;
利用预置的压测用例对所述待测区块链进行测试,以获得对应的测试结果,所述压测用例为基于压测参数配置的多个压测场景所构成的用例,所述压测参数至少包括交易背书策略。
8.根据权利要求7所述的一种针对Fabric区块链的性能检测方法,其特征在于,在所述根据目标区块链的组织结构和网络状况模拟生成待测区块链之前,所述方法还包括:
确定所述目标区块链中的参与组织,其中,所述参与组织的数量至少为一个;
根据所述参与组织中的各个节点的身份信息确定所述指定组织结构;
根据所述参与组织中的各个节点对应的网络参数确定所述网络状况。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求7至权利要求8中任意一项所述的针对Fabric区块链的性能检测方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求7至权利要求8中任意一项所述的针对Fabric区块链的性能检测方法。
CN202311168209.4A 2023-09-12 2023-09-12 一种针对Fabric区块链的性能检测系统 Active CN116909931B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311168209.4A CN116909931B (zh) 2023-09-12 2023-09-12 一种针对Fabric区块链的性能检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311168209.4A CN116909931B (zh) 2023-09-12 2023-09-12 一种针对Fabric区块链的性能检测系统

Publications (2)

Publication Number Publication Date
CN116909931A true CN116909931A (zh) 2023-10-20
CN116909931B CN116909931B (zh) 2023-12-26

Family

ID=88358749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311168209.4A Active CN116909931B (zh) 2023-09-12 2023-09-12 一种针对Fabric区块链的性能检测系统

Country Status (1)

Country Link
CN (1) CN116909931B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767211A (zh) * 2020-06-15 2020-10-13 北京同邦卓益科技有限公司 联盟链的测试方法和装置、存储介质、电子装置
CN112527912A (zh) * 2021-02-07 2021-03-19 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置及计算机设备
CN113726613A (zh) * 2021-09-07 2021-11-30 广州番禺职业技术学院 面向Fabric区块链的性能测试方法
CN113806203A (zh) * 2020-06-12 2021-12-17 阿里巴巴集团控股有限公司 区块链测试方法及装置
CN113965502A (zh) * 2021-10-20 2022-01-21 上海汇付数据服务有限公司 一种全链路性能测试方法和系统
CN114356768A (zh) * 2021-12-31 2022-04-15 杭州溪塔科技有限公司 通过占位符减少交易读写冲突的方法与装置
CN114651248A (zh) * 2019-11-04 2022-06-21 国际商业机器公司 用于经许可的区块链的随机节点选择
US20220318122A1 (en) * 2021-04-05 2022-10-06 Mastercard International Incorporated Method and system for blockchain performance testing
CN115987858A (zh) * 2021-10-15 2023-04-18 腾讯科技(深圳)有限公司 区块链网络的压力测试方法及相关设备
CN116051102A (zh) * 2022-12-30 2023-05-02 蚂蚁区块链科技(上海)有限公司 对联盟链进行共识背书的方法
CN116319416A (zh) * 2023-02-23 2023-06-23 中国信息通信研究院 一种适用于多节点区块链系统的性能测试方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114651248A (zh) * 2019-11-04 2022-06-21 国际商业机器公司 用于经许可的区块链的随机节点选择
CN113806203A (zh) * 2020-06-12 2021-12-17 阿里巴巴集团控股有限公司 区块链测试方法及装置
CN111767211A (zh) * 2020-06-15 2020-10-13 北京同邦卓益科技有限公司 联盟链的测试方法和装置、存储介质、电子装置
CN112527912A (zh) * 2021-02-07 2021-03-19 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置及计算机设备
US20220318122A1 (en) * 2021-04-05 2022-10-06 Mastercard International Incorporated Method and system for blockchain performance testing
CN113726613A (zh) * 2021-09-07 2021-11-30 广州番禺职业技术学院 面向Fabric区块链的性能测试方法
CN115987858A (zh) * 2021-10-15 2023-04-18 腾讯科技(深圳)有限公司 区块链网络的压力测试方法及相关设备
CN113965502A (zh) * 2021-10-20 2022-01-21 上海汇付数据服务有限公司 一种全链路性能测试方法和系统
CN114356768A (zh) * 2021-12-31 2022-04-15 杭州溪塔科技有限公司 通过占位符减少交易读写冲突的方法与装置
CN116051102A (zh) * 2022-12-30 2023-05-02 蚂蚁区块链科技(上海)有限公司 对联盟链进行共识背书的方法
CN116319416A (zh) * 2023-02-23 2023-06-23 中国信息通信研究院 一种适用于多节点区块链系统的性能测试方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NATURE_PH: "区块链-背书", pages 1 - 2, Retrieved from the Internet <URL:《网址:https://blog.csdn.net/nature_ph/article/details/110585543》> *
布谷不知: "Raft 协议 - Fabric", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/m0_51343581/article/details/129929374> *

Also Published As

Publication number Publication date
CN116909931B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
CN110554958B (zh) 图数据库测试方法、系统、设备和存储介质
CN105122230A (zh) 跟踪作为服务
CN110401634A (zh) 一种Web应用漏洞检测规则引擎实现方法及终端
CN105283849A (zh) 针对性能和细节的并行跟踪
CN109145981B (zh) 深度学习自动化模型训练方法及设备
US11580458B2 (en) Method and system for performance tuning and performance tuning device
Fursin et al. Collective knowledge: Towards R&D sustainability
CN113296823A (zh) 一种生成资源配置文件的方法、装置、设备及存储介质
CN110162464A (zh) Mcok测试方法及系统、电子设备及可读存储介质
CN111124871A (zh) 接口测试方法及装置
CN114429103A (zh) 一种芯片验证方法、装置及电子设备和存储介质
EP3413149A1 (en) Field device commissioning system and field device commissioning method
Buchholz et al. A comparative study of time aggregation techniques in relation to power capacity expansion modeling
US9064038B2 (en) Method and system for combining multiple benchmarks
CN116909931B (zh) 一种针对Fabric区块链的性能检测系统
CN112417992B (zh) 一种量子比特状态读取形式的选取方法及装置、存储介质
CN113486118A (zh) 共识节点选取方法及装置
CN114089889A (zh) 模型训练方法、装置以及存储介质
CN111382069A (zh) 一种数据流测试方法及系统
US20220343176A1 (en) Enhanced Uncertainty Management For Optical Communication Systems
CN109933506A (zh) 服务器大数据性能评价方法、系统及电子设备和存储介质
CN114817209A (zh) 监控规则的处理方法和装置、处理器及电子设备
CN114581241A (zh) 智能合约的处理方法和装置、处理器及电子设备
CN114070737A (zh) 设备的配置数据的检查方法、装置、存储介质及电子设备
CN114579252A (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