CN111767215B - 一种区块链持续集成测试方法、装置及系统 - Google Patents

一种区块链持续集成测试方法、装置及系统 Download PDF

Info

Publication number
CN111767215B
CN111767215B CN202010578370.9A CN202010578370A CN111767215B CN 111767215 B CN111767215 B CN 111767215B CN 202010578370 A CN202010578370 A CN 202010578370A CN 111767215 B CN111767215 B CN 111767215B
Authority
CN
China
Prior art keywords
transaction
intelligent contract
loose coupling
node
verification node
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
CN202010578370.9A
Other languages
English (en)
Other versions
CN111767215A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010578370.9A priority Critical patent/CN111767215B/zh
Publication of CN111767215A publication Critical patent/CN111767215A/zh
Application granted granted Critical
Publication of CN111767215B publication Critical patent/CN111767215B/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/3696Methods or tools to render software testable
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种区块链持续集成测试方法、装置及系统,其中该系统包括:由若干个VP节点组成的区块链及与VP节点通信连接的交易接入端,还包括:与VP节点通信连接的持续集成测试装置,用于采集经过VP节点的智能合约交易包,并根据智能合约交易包的特征信息进行分类后重组以生成用于测试区块链的新增功能的重组智能合约包;智能合约交易包的特征信息包括:源地址、目的地址、应用端口号和TCP序列号。存储在持续集成测试装置中的智能合约交易包可以用于验证区块链新功能的特性,具体为,保存下验证出该区块链新功能不符合预期的智能合约交易包,等到新功能代码修复后,第一时间执行该智能合约交易包,即可快速检验代码修复的效果。

Description

一种区块链持续集成测试方法、装置及系统
技术领域
本申请属于区块链测试技术领域,具体地讲,涉及一种区块链的持续集成测试方法、装置及系统。
背景技术
区块链是一种利用密码学保证访问安全、利用P2P通讯技术实现对等通信、利用共识机制实现记账合法性和利用链式结构存储数据的共同记账的解决方案。随着区块链技术的不断发展,越来越多公司投入资源以开展区块链技术研究及应用工作。各公司的应用领域不同,因此对区块链技术的诉求也不同。在实施上,很多公司对区块链技术进行了不同程度的定制化开发,衍生出了区块链多样化功能特性。一方面,对于这些定制化的区块链技术系统,无通用的区块链持续集成工具可用。另一方面,在业务推广过程中,涌现出新业务需求点,这些需求点促成了新功能特性的出现。
目前区块链技术仍处于探索阶段,对于与业务场景相关的具体应用问题,需要结合场景考虑解决方案。对同一个问题会尝试多种方法,再从中选出最优解决方案,客观上要求能对方案进行快速验证,确认是否有效。目前人工测试方式无法满足快速验证方案要求,极大地限制了区块链新功能特性上线的效率。
发明内容
本申请提供了一种区块链持续集成测试系统、方法及装置,以至少解决现有技术中对于区块链上新增的功能缺少快速测试验证的问题。
根据本申请的一个方面,提供了一种区块链持续集成测试系统,包括,由若干个VP节点(验证节点)组成的区块链及与VP节点通信连接的交易接入端,还包括:
与VP节点通信连接的持续集成测试装置,用于采集经过VP节点的智能合约交易包,并根据智能合约交易包的特征信息进行分类后重组以生成用于测试区块链的新增功能的重组智能合约包;智能合约交易包的特征信息包括:源地址、目的地址、应用端口号和TCP序列号。
在一实施例中,持续集成测试装置包括:集成控制单元以及与集成控制单元通信连接的智能合约包收集单元、智能合约包分类单元、智能合约包存储单元和智能合约包组合单元;
智能合约包收集单元,用于根据集成控制单元的控制指令采集经过VP节点的智能合约交易包;
智能合约包分类单元,用于根据集成控制单元的控制指令对获取的智能合约交易包按照智能合约交易包的特征信息进行分类;
智能合约包存储单元,用于对分类后的智能合约包按照预设的格式进行存储;
智能合约包组合单元,用于根据集成控制单元的控制指令对存储的智能合约包进行组装,生成的重组智能合约包。
在一实施例中,持续集成测试装置还包括:
前端接口和后端接口,用于与VP节点进行信息交互。
根据本申请的另一方面,还提供了一种区块链持续集成测试方法,包括:
根据智能合约交易包的特征信息对从VP节点获取的智能合约交易包进行分类,得到广播交易包和共识交易包;
对广播交易包进行重组生成重组智能合约包并展示给用户;
根据用户选择的重组智能合约包生成智能合约交易流并发送至VP节点,以对区块链的新增功能进行测试。
在一实施例中,该区块链持续集成测试方法还包括:
按照预设的过滤策略对从VP节点获取的智能合约交易包进行过滤。
在一具体实施例中,对广播交易包进行重组生成重组智能合约包并展示给用户,包括:
对广播交易包进行解析,获取广播交易包中所有从交易接入端接收的共识结果和所有从VP节点接收的共识结果;
将属于同一笔交易的从交易接入端接收的共识结果和从VP节点接收的共识结果组合成一个重组智能合约包;
将重组智能合约包及该交易所经过的节点顺序进行展示。
根据本申请的另一个方面,还提供了一种区块链持续集成测试装置,包括:
分类单元,用于根据智能合约交易包的特征信息对从VP节点获取的智能合约交易包进行分类,得到广播交易包和共识交易包;
重组单元,用于对广播交易包进行重组生成重组智能合约包并展示给用户;
交易流生成单元,用于根据用户选择的重组智能合约包生成智能合约交易流并发送至VP节点,以对区块链的新增功能进行测试。
在一实施例中,区块链持续集成测试装置还包括:
过滤单元,用于按照预设的过滤策略对从VP节点获取的智能合约交易包进行过滤。
在一具体实施例中,重组单元包括:
解析模块,用于对广播交易包进行解析,获取广播交易包中所有从交易接入端接收的共识结果和所有从VP节点接收的共识结果;
组合模块,用于将属于同一笔交易的从交易接入端接收的共识结果和从VP节点接收的共识结果组合成一个重组智能合约包;
展示模块,用于将重组智能合约包及该交易所经过的节点顺序进行展示。
本申请提供的区块链持续集成测试系统、方法及装置能够在不影响交易的情况下实现对经由VP节点的数据包的捕获,然后对其进行分析、存储和重组,以供持续集成系统调用,能够实现多次执行的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种区块链持续集成测试系统示意图。
图2为本申请实施例中持续集成测试装置的结构框图。
图3为本申请实施例中另一种持续集成测试装置的结构框图。
图4为本申请提供的一种区块链持续集成测试方法流程图。
图5为本申请实施例中对广播交易包进行重组的流程图。
图6为本申请提供的一种区块链持续集成测试装置的结构框图。
图7为本申请实施例中重组单元的结构框图。
图8为本申请实施例中一种区块链持续集成测试系统。
图9为本申请实施例中一种电子设备的具体实施方式。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,由于区块链技术在各公司的应用领域不同,不同的使用者对区块链技术的诉求也日益多样化,因此,使用者在区块链的基础上开发了各种多样化的功能特性。但是,现有技术只能通过人工的方式对这些新开发的功能特性进行测试,人工测试的方法无法满足区块链快速验证的要求,因此极大地限制了区块链新功能特性上线的效率。
针对上述现有技术中存在的问题,本申请提供了一种区块链持续集成测试系统,如图1所示,包括,由若干个VP节点2(validating peer,验证节点)组成的区块链(包括区块链中的VP节点2和其他VP节点4)及与VP节点2通信连接的交易接入端1(NVP节点,非验证节点),还包括:
与VP节点通信连接的持续集成测试装置3,用于采集经过VP节点2的智能合约交易包,并根据智能合约交易包的特征信息进行分类后重组以生成用于测试区块链的新增功能的重组智能合约包;智能合约交易包的特征信息包括:源地址、目的地址、应用端口号和TCP序列号。
在一具体实施例中,交易接入端1通过以太网实现与VP节点2的互联,区块链网络中的其他VP节点4和持续集成测试装置3均通过以太网实现与VP节点2的互联。持续集成测试装置3是本申请的核心点,其不会对现有的区块链各节点中已经存在的交易系统构成影响。
交易接入端1向VP节点2提交智能合约交易请求,VP节点2将智能合约交易请求广播给区块链网络中的其他VP节点4,然后其他VP节点4对该交易进行共识。VP节点2收到来自其他VP节点共识成功的通知后进行记账并按智能合约逻辑进行数据处理,然后VP节点将数据处理的结果进行重组并将重组后的交易包返回给交易接入端1,至此,完成一次完整的区块链交易。
综上所述,基于区块链网络上的所有共识节点都具有维护和存储同一账本的技术特性,即所有智能合约交易请求及共识结果都会经过VP节点2,因此,本发明在VP节点2上接入一种持续集成测试装置3,通过该装置采集VP节点2上的数据流,记录下VP节点2中经过的智能合约交易包,然后按照TCP和UDP数据包交互逻辑,经过分析、过滤后得到交易列表,该交易列表包含两个方向的交易:1、从VP节点2发出到区块链网络上的交易;2、VP节点2从区块链网络上接收到的交易。
上述的持续集成测试装置3一方面负责采集所有经过VP节点2的智能合约交易包,另一方面对智能合约交易包的源地址、目的地址、应用端口号和TCP序列号进行判断和分析,将智能合约交易包划分为两类:一类是从VP节点2发出的广播交易包,另一类是从其他VP节点4发送至该VP节点2的共识交易包。然后持续集成测试装置3按照TCP和UDP数据包交互原理,将同一个会话过程中的数据包组装成一个完整的交易流,整个过程不会对区块链网络上的报文交互产生影响。
在一实施例中,如图2所示,持续集成测试装置包括:集成控制单元203以及与集成控制单元203通信连接的智能合约包收集单元204、智能合约包分类单元205、智能合约包存储单元206和智能合约包组合单元208;
智能合约包收集单元204,用于根据集成控制单元的控制指令采集经过VP节点的智能合约交易包;
智能合约包分类单元205,用于根据集成控制单元的控制指令对获取的智能合约交易包按照智能合约交易包的特征信息进行分类;
智能合约包存储单元206,用于对分类后的智能合约包按照预设的格式进行存储;
智能合约包组合单元208,用于根据集成控制单元的控制指令对存储的智能合约包进行组装,生成的重组智能合约包。
在一实施例中,如图3所示,持续集成测试装置还包括:
前端接口201和后端接口202,用于与VP节点进行信息交互;以及智能合约包展示单元207和智能合约包发送单元209。
在一具体实施例中,前端接口201可以提供两种访问VP节点的方式(一种为通过FTP客户端对VP节点进行访问,另一种为以crontab的方式对VP节点进行访问)。后端接口202通过特定的端口与VP节点2相连。
智能合约包收集单元204在集成控制单元203调用下,根据展示单元207制定的采集对象进行针对性的采集,如采集从VP节点2发出到区块链网络上的交易包或采集VP节点2从区块链网络上收到的智能合约交易包。
智能合约包分类单元205在集成控制单元203调用下,以智能合约ID进行交易类型区分,对收集到的智能合约包按照TCP和UDP的包结构原理,按照来源对智能合约交易包进行归类、分析。
智能合约包存储单元206在智能合约包分类单元205之后运行,负责对所采集的智能合约交易包按照指定的格式要求,将分析好的智能合约交易包归入,进行数据流存储。
智能合约包展示单元207,以智能合约交易包经过的不同节点顺序向用户进行展示。用户可通过网络方式,访问该持续集成测试装置3,实现人机之间的界面交互和管理。
智能合约包组合单元208在集成控制单元203调度下,根据展示单元207的需要,对所存储的智能合约包进行重新组装。
智能合约包发送单元209用于执行发送动作,并通过后端接口单元202中特定端口与VP节点2进行交互。
根据本申请的另一方面,还提供了一种区块链持续集成测试方法,如图4所示,包括:
S401:根据智能合约交易包的特征信息对从VP节点获取的智能合约交易包进行分类,得到广播交易包和共识交易包。
在一具体实施例中,持续集成测试装置以FTP客户端方式或crontab方式与VP节点2连接,获取VP节点2上的交易数据流(即智能合约交易包),此连接方式与运行中区块联盟链网络中的各节点连接方式不同,此连接方式不会影响区块链中节点的实际交易。持续集成测试装置参考TCP包结构模型和UDP包结构模型对采集到的智能合约交易包按照不同的源地址、目的地址、源端口和目的端口以及TCP和UDP的序列号进行分类,得到广播交易包和共识交易包。
S402:对广播交易包进行重组生成重组智能合约包并展示给用户。
在一具体实施例中,持续集成测试装置将采集到的智能合约交易包存储在后台数据库中,一般情况下只需要存储广播交易包,然后将广播交易包进行重组,获得重组后的智能合约包并将其在持续集成测试装置的智能合约包展示单元中进行展示,以供测试人员及应用管理人员选择使用。
S403:根据用户选择的重组智能合约包生成智能合约交易流并发送至VP节点,以对区块链的新增功能进行测试。
在一具体实施例中,根据持续集成测试的需要,用户通过智能合约展示单元选择所需的智能合约包,然后按照该智能合约包所经过的节点的模式将其合并成智能合约交易流,然后根据智能合约交易流的节点的顺序,通过后端接口依次将组合后的智能合约交易流发送至VP节点以对区块链的新功能进行测试。
图4所示的方法的执行主体可以为PC、终端等,存储在持续集成测试装置中的智能合约交易包可以用于验证区块链新功能的特性,具体为,保存下验证出该区块链新功能不符合预期的智能合约交易包,等到新功能代码修复后,第一时间执行该智能合约交易包,即可快速检验代码修复的效果,同时,本持续集成测试装置支持多次迭代重复执行,从而提升区块链新功能的开发效率,有效缩短项目上线时间。
在一实施例中,该区块链持续集成测试方法还包括:
按照预设的过滤策略对从VP节点获取的智能合约交易包进行过滤。
在一实施例中,对广播交易包进行重组生成重组智能合约包并展示给用户,如图5所示,包括:
S501:对广播交易包进行解析,获取广播交易包中所有从交易接入端接收的共识结果和所有从VP节点接收的共识结果。
S502:将属于同一笔交易的从交易接入端接收的共识结果和从VP节点接收的共识结果组合成一个重组智能合约包。
在一具体实施例中,对获得的广播交易包进行分析并重组,重组规则为,将属于同一交易A下的从交易接入端1接收到的共识结果和从其他VP节点4接收到的共识结果打包为一个完整的智能合约包(称为重组智能合约包)。
S503:将重组智能合约包及该交易所经过的节点顺序进行展示。
在一具体实施例中,以每笔交易经过的交易节点为逻辑顺序,将重组智能合约包在持续集成测试装置的智能合约包展示单元进行展示。通过展示单元,可以清晰了解VP节点所处理的所有交易的状态。
基于同一发明构思,本申请实施例还提供了一种区块链持续集成测试装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该区块链持续集成测试装置解决问题的原理与区块链持续集成测试方法相似,因此区块链持续集成测试装置的实施可以参见区块链持续集成测试方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
根据本申请的另一个方面,还提供了一种区块链持续集成测试装置,如图6所示,包括:
分类单元601,用于根据智能合约交易包的特征信息对从VP节点获取的智能合约交易包进行分类,得到广播交易包和共识交易包;
重组单元602,用于对广播交易包进行重组生成重组智能合约包并展示给用户;
交易流生成单元603,用于根据用户选择的重组智能合约包生成智能合约交易流并发送至VP节点,以对区块链的新增功能进行测试。
在一实施例中,区块链持续集成测试装置还包括:
过滤单元,用于按照预设的过滤策略对从VP节点获取的智能合约交易包进行过滤。
在一具体实施例中,如图7所示,重组单元602包括:
解析模块701,用于对广播交易包进行解析,获取广播交易包中所有从交易接入端接收的共识结果和所有从VP节点接收的共识结果;
组合模块702,用于将属于同一笔交易的从交易接入端接收的共识结果和从VP节点接收的共识结果组合成一个重组智能合约包;
展示模块703,用于将重组智能合约包及该交易所经过的节点顺序进行展示。
图8为一种应用在实际工作过程中的区块链持续集成测试系统的实施例:
本系统包括交易接入端(nvp节点)客户端1,VP节点2,持续集成测试装置3,区块链网络其他VP节点4。其中交易接入端(nvp节点)客户端1通过区块链联盟链网络中已定义好的restful端口101与VP节点02的201端口进行连接。持续集成测试装置3通过FTP或crontab端口301连接到VP节点2的202端口部分;在需要发送智能合约数据流时,持续集成测试装置3通过restful端口302与VP节点2的201端口进行连接。VP节点通过203与区块链网络其他VP节点4进行P2P对等通信。按照部署连接示意图,开启VP节点2上的信息输出开关,确保经VP节点2处理的所有步骤均能够输出处理过程信息,从而能捕捉经过VP节点2的智能合约交易包信息。
持续集成测试装置3通过FTP或crontab端口301接收VP节点的智能合约交易包后,按照交易包的特征信息,如来源、智能合约ID、方法名、接入端用户名等,对智能合约交易包进行初步过滤及分析。持续集成测试装置3对接收到的智能合约交易包,参照TCP和UDP的包结构,按照交易包头部中的不同源地址和目的地址、源端口号和目的端口号,重新按照交易包所经过的节点顺序进行展示。
用户通过持续集成测试装置3对采集到交易的基础数据包进行选择,将符合要求的转后台数据存储。如按照智能合约包的交易接入端1、VP节点2、区块链网络其他VP节点的层次结构进行组合展示。
通过本申请提供的一种区块链持续集成测试系统、方法及装置,以ftp或crontab访问方式,在不影响交易的情况下,实现对vp节点中的智能合约交易包的捕获并对交易数据包进行分析、存储、组合展示,以供持续集成系统调用,并可实现多次测试。一方面,本申请能够提升区块链中新功能特性发布效率,与采用该系统前相比,可更快实现业务新需求上线的效果。另一方面,需求的快速上线,将为金融机构带来更好的客户感知度,从而孵化更多区块链应用场景。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图9,所述电子设备具体包括如下内容:
处理器(processor)901、内存902、通信接口(Communications Interface)903、总线904和非易失性存储器905;
其中,所述处理器901、内存902、通信接口903通过所述总线904完成相互间的通信;
所述处理器901用于调用所述内存902和非易失性存储器905中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S401:根据智能合约交易包的特征信息对从VP节点获取的智能合约交易包进行分类,得到广播交易包和共识交易包。
S402:对广播交易包进行重组生成重组智能合约包并展示给用户。
S403:根据用户选择的重组智能合约包生成智能合约交易流并发送至VP节点,以对区块链的新增功能进行测试。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S401:根据智能合约交易包的特征信息对从VP节点获取的智能合约交易包进行分类,得到广播交易包和共识交易包。
S402:对广播交易包进行重组生成重组智能合约包并展示给用户。
S403:根据用户选择的重组智能合约包生成智能合约交易流并发送至VP节点,以对区块链的新增功能进行测试。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。

Claims (10)

1.一种松散耦合的区块链自主交易方法,其特征在于,包括:
当当前验证节点在对应的虚拟机上完成智能合约的部署后,向所述虚拟机发起所述智能合约的调用申请,以使所述虚拟机生成调用指令并检查所述智能合约的类型及版本号,所述智能合约的类型包括:应用级智能合约和松散耦合共识智能合约;
如果所述智能合约的类型为松散耦合共识智能合约,所述当前验证节点根据所述智能合约建立松散耦合交易圈;
所述当前验证节点根据所述松散耦合交易圈执行局部共识;
其中,所述验证节点根据所述智能合约建立松散耦合交易圈,包括:
所述当前验证节点广播松散耦合交易请求,以使各验证节点根据收到的松散耦合交易请求判断自身是否为松散耦合交易圈的验证节点,其中,广播消息中包含有目标交易方的地址信息;
所述当前验证节点将所述松散耦合交易圈的验证节点组成所述松散耦合交易圈。
2.根据权利要求1所述的区块链自主交易方法,其特征在于,所述将所述松散耦合交易圈的验证节点组成所述松散耦合交易圈,包括:
根据所述松散耦合交易请求提取交易方地址信息,根据所述地址信息向各验证节点发送回应消息;并接收各验证节点的回应消息,验证所述回应消息的合法性和签名信息;
向验证通过的所述回应消息所属的各验证节点发送成功确认信息;
与收到成功确认信息的各验证节点组成松散耦合交易圈。
3.根据权利要求1所述的区块链自主交易方法,其特征在于,所述根据所述松散耦合交易圈执行局部共识,包括:
采用拜占庭容错算法在松散耦合交易圈的交易方中对消息请求报文进行共识;
解析并提取所述松散耦合交易圈内的消息请求报文,获得松散耦合交易圈中的验证节点信息和智能合约信息,所述智能合约信息包括:智能合约的类型和版本号;
根据版本号判断是否进行交易信息的局部存储。
4.根据权利要求1所述的区块链自主交易方法,其特征在于,当前验证节点在对应的虚拟机上部署智能合约的步骤,包括:
通过所在的验证节点向虚拟机的合约桥接模块发起部署智能合约申请,以使虚拟机创建虚拟机容器并装载智能合约;
接收虚拟机发送的智能合约部署结果消息。
5.一种松散耦合的区块链自主交易装置,其特征在于,包括:
预备单元,用于当当前验证节点在对应的虚拟机上完成智能合约的部署后,向所述虚拟机发起所述智能合约的调用申请,以使所述虚拟机生成调用指令并检查所述智能合约的类型及版本号,所述智能合约的类型包括:应用级智能合约和松散耦合共识智能合约;
松散耦合交易圈建立单元,用于如果所述智能合约的类型为松散耦合共识智能合约,所述当前验证节点根据所述智能合约建立松散耦合交易圈;
局部共识单元,用于所述当前验证节点根据所述松散耦合交易圈执行局部共识;
其中,所述松散耦合交易圈建立单元包括:
广播模块,用于广播松散耦合交易请求,以使各验证节点根据收到的松散耦合交易请求判断自身是否为松散耦合交易圈的验证节点,其中,广播消息中包含有目标交易方的地址信息;
组圈模块,用于将所述松散耦合交易圈的验证节点组成所述松散耦合交易圈。
6.根据权利要求5所述的区块链自主交易装置,其特征在于,所述组圈模块包括:
提取模块,用于根据所述松散耦合交易请求提取交易方地址信息,根据所述地址信息向各验证节点发送回应消息;并接收各验证节点的回应消息,验证所述回应消息的合法性和签名信息;
成功确认发送模块,用于向验证通过的所述回应消息所属的各验证节点发送成功确认信息;
建圈模块,用于与收到成功确认信息的各验证节点组成松散耦合交易圈。
7.根据权利要求5所述的区块链自主交易装置,其特征在于,所述局部共识单元包括:
共识模块,采用拜占庭容错算法在松散耦合交易圈的交易方中对消息请求报文进行共识;
解析模块,用于解析并提取所述松散耦合交易圈内的消息请求报文,获得松散耦合交易圈中的验证节点信息和智能合约信息,所述智能合约信息包括:智能合约的类型和版本号;
判断模块,用于根据版本号判断是否进行交易信息的局部存储。
8.根据权利要求5所述的区块链自主交易装置,其特征在于,所述预备单元包括:
装载模块,用于通过所在的验证节点向虚拟机的合约桥接模块发起部署智能合约申请,以使虚拟机创建虚拟机容器并装载智能合约;
部署结果接收模块,用于接收虚拟机发送的智能合约部署结果消息。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4中任意一项所述松散耦合的区块链自主交易方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4中任一项所述松散耦合的区块链自主交易方法。
CN202010578370.9A 2020-06-23 2020-06-23 一种区块链持续集成测试方法、装置及系统 Active CN111767215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010578370.9A CN111767215B (zh) 2020-06-23 2020-06-23 一种区块链持续集成测试方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010578370.9A CN111767215B (zh) 2020-06-23 2020-06-23 一种区块链持续集成测试方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111767215A CN111767215A (zh) 2020-10-13
CN111767215B true CN111767215B (zh) 2023-08-08

Family

ID=72721738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010578370.9A Active CN111767215B (zh) 2020-06-23 2020-06-23 一种区块链持续集成测试方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111767215B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348463A (zh) * 2020-10-30 2021-02-09 杭州溪塔科技有限公司 一种基于区块链的软件工程持续构建方法和装置
CN113781231A (zh) * 2021-09-27 2021-12-10 中国银行股份有限公司 自动化交易数据生成方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
WO2019180702A1 (en) * 2018-03-18 2019-09-26 Valid Network Ltd Method and system for assessing future execution of a smart contract based on previous executions on a blockchain-based platform
CN110417790A (zh) * 2019-08-02 2019-11-05 中国工商银行股份有限公司 区块链实名制排队系统及方法
CN111061646A (zh) * 2019-12-26 2020-04-24 山东爱城市网信息技术有限公司 一种基于区块链智能合约的测试管理系统及设备、介质
CN111290958A (zh) * 2020-02-20 2020-06-16 联动优势(北京)数字科技有限公司 一种调试智能合约的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019180702A1 (en) * 2018-03-18 2019-09-26 Valid Network Ltd Method and system for assessing future execution of a smart contract based on previous executions on a blockchain-based platform
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN110417790A (zh) * 2019-08-02 2019-11-05 中国工商银行股份有限公司 区块链实名制排队系统及方法
CN111061646A (zh) * 2019-12-26 2020-04-24 山东爱城市网信息技术有限公司 一种基于区块链智能合约的测试管理系统及设备、介质
CN111290958A (zh) * 2020-02-20 2020-06-16 联动优势(北京)数字科技有限公司 一种调试智能合约的方法及装置

Also Published As

Publication number Publication date
CN111767215A (zh) 2020-10-13

Similar Documents

Publication Publication Date Title
US9531620B2 (en) Control plane packet traffic statistics
CN101296243B (zh) 一种服务集成平台系统及提供互联网服务的方法
US20130305091A1 (en) Drag and drop network topology editor for generating network test configurations
US7523198B2 (en) Integrated testing approach for publish/subscribe network systems
US8310942B2 (en) Flow statistics aggregation
CN107993149A (zh) 账户信息管理方法、系统以及可读存储介质
US9001668B2 (en) Endpoint selection in a network test system
CN111767215B (zh) 一种区块链持续集成测试方法、装置及系统
CN108509392B (zh) 多机构对账方法、系统、计算机设备和存储介质
CN103457757A (zh) 使用事务流签名的网络事务监视的方法和系统
CN110086652A (zh) 一种针对5g核心网中服务网元的管理系统及其方法
US20100138813A1 (en) Method and apparatus for testing online performance on client/server architecture
CN106961429B (zh) 一种面向混合云计算平台的协同服务方法
CN107800565A (zh) 巡检方法、装置、系统、计算机设备和存储介质
CN109359948A (zh) 一种基于区块链的合同管理方法及相关设备
CN110535654A (zh) 基于区块链的并行系统部署方法、装置和计算机设备
CN103959715A (zh) 用于测试diameter路由节点的方法、系统和计算机可读介质
CN109639719A (zh) 一种基于临时标识符的身份验证方法和装置
US8966321B2 (en) Logical port and layer protocol test configuration resource manager
CN107566218A (zh) 一种适用于云环境的流量审计方法
CN114945032A (zh) 电力物联网终端数据接入系统、方法、装置、设备及介质
Lin et al. A proof-of-majority consensus protocol for blockchain-enabled collaboration infrastructure of 5G network slice brokers
CN112699136B (zh) 一种跨链存证方法及相关装置
CN108494625A (zh) 一种网络性能分析系统
CN116306041B (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