CN111782537B - 一种基于区块链技术的众测流程管理系统及方法 - Google Patents
一种基于区块链技术的众测流程管理系统及方法 Download PDFInfo
- Publication number
- CN111782537B CN111782537B CN202010649265.XA CN202010649265A CN111782537B CN 111782537 B CN111782537 B CN 111782537B CN 202010649265 A CN202010649265 A CN 202010649265A CN 111782537 B CN111782537 B CN 111782537B
- Authority
- CN
- China
- Prior art keywords
- module
- test
- signature
- read
- write set
- 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
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
Abstract
本发明涉及一种基于区块链技术的众测流程管理系统及方法,包括:请求与反馈模块、评价群组模拟执行及签名模块、数据同步模块、区块链基础设施、测试群组签名验证及记录模块及共识排序模块。本发明通过采用区块链中的技术,实现了一个可信的众测流程管理平台,众测流程管理被分为三个简单的部分,使得系统可以更流畅的运行;测试结果的有效性由所有系统中的参与用户决定,保证了众测测试结果及奖励获取的公平性;基于区块链技术中的私人数据特性,测试人员的隐私数字资产存储于本地而不用提交给中心数据库,既减轻了中心数据库的存储压力,隐私数据也得以更安全地保护。
Description
技术领域
本发明涉及众测系统领域,特别是涉及一种基于区块链技术的众测流程管理系统及方法。
背景技术
区块链是利用块链式数据结构来验证与存储数据,利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。去中心化的区块链技术,能够给用户提供无需第三方信任的多点交易,并能更高层次上保护用户的隐私。信任体系是区块链网络中重要的一部分,能够让用户放心地将数字资产上链,不可篡改的区块链特性更稳固了信任体系。
众测是一种全新的测试方式,通过众包的分发形式,根据应用类型、用户群类别或者业务功能等测试需求,快速精确地确定符合条件的测试者及测试终端。传统的众测系统通常使用传统的软件系统搭建,所有的用户数据及流程数据都最终归属于一个系统部署机构,众测人员管理及流程管理都作为系统配置固定于系统上,用户所有数据都必须提交给系统部署机构作统一的处理。
以上系统存在明显的局限性:当系统用户数量、访问频率或流程数据过于庞大时,将会对系统部署机构物理环境的计算机性能或带宽产生巨大影响;用户信息、所上传资产及流程产生的数据都存储于系统部署机构,难以保证这些数据的隐私;用户在同步提交测试结果后,验证测试结果难以保证逻辑整体性。
近几年来,国内外学术及工业界对区块链给予了高度关注,但将区块链应用于众测方面的研究较少,特别是利用区块链技术构建众测流程管理及测试结果质量管理等。
发明内容
本发明的目的是提供一种基于区块链技术的众测流程管理系统及方法,减轻了中心数据库的存储压力,隐私数据也得以更安全地保护。
为实现上述目的,本发明提供了如下方案:
一种基于区块链技术的众测流程管理系统,所述系统包括:请求与反馈模块1、评价群组模拟执行及签名模块2、数据同步模块3、区块链基础设施4、共识排序模块5以及测试群组签名验证及记录模块6;
所述请求与反馈模块1分别与所述评价群组模拟执行及签名模块2、测试群组签名验证及记录模块6和所述共识排序模块5连接;所述评价群组模拟执行及签名模块2与所述数据同步模块3连接;所述数据同步模块3分别与所述区块链基础设施4和所述测试群组签名验证及记录模块6连接;所述区块链基础设施4与所述共识排序模块5连接;所述共识排序模块5与所述测试群组签名验证及记录模块6连接;
所述评价群组模拟执行及签名模块2用于根据测试需求及奖励规则模拟执行,并产生“测试项-结果-奖励余额-测试用户-版本”的读写集,并根据模拟执行结果决定签名与否;
所述测试群组签名验证及记录模块6用于验证所有所述评价群组模拟执行及签名模块2中的签名状态是否符合已附属在测试需求中的测试通过准则;
所述共识排序模块5用于对所述读写集进行共识排序,对排序结果打包成区块,并对所述测试群组签名验证及记录模块6进行广播;
所述请求与反馈模块1用于在所述评价群组模拟执行及签名模块2、测试群组签名验证及记录模块6、共识排序模块5与测试用户之间实现信息交互;
所述区块链基础设施4用于存储所述评价群组模拟执行及签名模块2和所述测试群组签名验证及记录模块6执行所需求的详细数据,同时存储所述共识排序模块5所打包的区块,由区块链系统提供方负责运维;
所述数据同步模块3用于同步所述评价群组模拟执行及签名模块2与所述测试群组签名验证及记录模块6所分别维护的数据版本,根据数据版本到所述区块链基础设施4获取详细数据。
可选的,所述系统还包括:
众测任务获取模块7、众测任务执行模块8、测试结果提交模块9、模拟执行及签名模块10、验证签名及记录模块11以及众测奖励获取模块12;
所述众测任务获取模块7、众测任务执行模块8、测试结果提交模块9、模拟执行及签名模块10、验证签名及记录模块11以及众测奖励获取模块12依次连接;
所述众测任务获取模块7用于使测试用户加入到众测逻辑测试链,并从众测逻辑测试链系统中获取众测任务发布方已发布的众测任务、分配到测试用户的具体测试任务;
众测任务执行模块8用于基于测试任务进行测试;
测试结果提交模块9用于向众测流程管理系统核心模块中的所述请求与反馈模块1提交测试结果;
所述模拟执行及签名模块10用于评价群组通过流程管理系统核心模块中的所述评价群组模拟执行及签名模块2获取测试用户提交的测试结果,并自动化模拟执行测试结果,生成读写集反馈到所述请求与反馈模块1,使测试用户获取所提交测试结果对应的签名读写集;
验证签名及记录模块11用于提交签名读写集,并将所述签名读写集发送至所述共识排序模块5,通过所述共识排序模块5对签名读写集进行排序出块,将签名读写集区块发送给流程管理系统核心模块中的所述测试群组签名验证及记录模块6,测试群组对读写集的签名进行验证,验证通过后记录到区块链基础设施;
众测奖励获取模块12用于获取已被记录到区块链基础设施的测试结果所对应的众测奖励。
本发明另外提供一种基于区块链技术的众测流程管理方法,所述方法应用于上述的基于区块链技术的众测流程管理系统,所述方法包括:
通过请求与反馈模块1提交测试结果请求;
通过评价群组模拟执行及签名模块2模型执行请求中的测试结果,生成读写集并签名;
通过所述评价群组模拟执行及签名模块2向所述请求与反馈模块1反馈所述读写集;
通过所述请求与反馈模块1提交所述读写集;
通过共识排序模块5对所述读写集进行共识排序,生成读写集序列,并打包成区块;所述共识排序模块包括若干排序节点;
通过测试群组签名验证及记录模块6打开所述读写集序列,并执行签名验证及记录操作;
通过所述测试群组签名验证及记录模块6向所述请求与反馈模块1提交执行结果。
可选的,所述方法在通过请求与反馈模块1提交测试结果请求之前还包括:
获取众测任务;
基于所述众测任务进行测试,得到测试结果。
可选的,所述模拟执行请求具体包括:
步骤201:通过评价群组模拟执行及签名模块2利用数据同步模块3获取当前数据版本,依据所述当前数据版本从区块链基础设施4获取详细数据后生成读集;
步骤202:通过所述评价群组模拟执行及签名模块2根据测试需求及奖励规则模拟执行,产生写集,将所述读集和所述写集进行整合,成得到读写集;
步骤203:通过所述评价群组模拟执行及签名模块2判断所述写集是否有效,若有效,执行步骤204,若无效,执行步骤205;
步骤204:通过所述评价群组模拟执行及签名模块2在产生的读写集上签名;
步骤205:通过所述评价群组模拟执行及签名模块2生成“测试项-结果-奖励余额-测试用户-版本-是否签名”的读写集。
可选的,所述通过共识排序模块5对所述读写集进行共识排序,生成读写集序列,并打包成区块具体包括:
步骤501:通过所述共识排序模块5中的排序节点接收来自不同测试成员提交的读写集;
步骤502:通过不同排序节点将读写集按接收顺序发送至Kafka/Raft集群,进行分布式排序;
步骤503:Kafka/Raft根据出块原则,将排序后的读写集打包成区块,并通过所述共识排序模块5将所述区块广播给所述测试群组签名验证及记录模块6,并将所述区块存储于所述区块链基础设施4。
可选的,所述通过测试群组签名验证及记录模块6打开所述读写集序列,并执行签名验证及记录操作具体包括:
步骤601:通过所述测试群组签名验证及记录模块6打开所述共识排序模块5所广播的区块内所有读写集;
步骤602:通过所述测试群组签名验证及记录模块6验证所有读写集中的现有签名状态是否符合测试通过准则,若符合,执行步骤603,若不符合,执行步骤606;
步骤603:通过所述测试群组签名验证及记录模块6采用所述数据同步模块3的当前数据版本,从所述区块链基础设施4中读取详细数据,并生成读集,验证当前读集中的版本是否与区块内的读写集版本一致,若一致,执行步骤604,若不一致,执行步骤606;
步骤604:通过所述测试群组签名验证及记录模块6将区块内的写集写入所述区块链基础设施4;
步骤605:通过所述测试群组签名验证及记录模块6采用所述数据同步模块3更新当前最新数据版本,并全网广播;
步骤606:通过所述测试群组签名验证及记录模块6将执行结果反馈给所述请求与反馈模块1。
可选的,所述读写集包括两部分,分别为众测任务具体测试需求中的若干测试项和测试人员基本信息;所述若干测试项包括:测试项、预期测试结果、该测试项所对应的可获取奖励、发现该测试项问题的测试用户名以及当前测试项数据的版本;所述测试人员基本信息包括:测试用户名、该用户当前所获取的奖励以及当前测试用户数据的版本。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提出了一种基于区块链技术的众测流程管理系统及方法,通过采用区块链中的技术,实现了一个可信的众测流程管理平台,交易被分为三个简单的部分,使得系统可以更流畅的运行;测试结果的有效性由所有系统中的参与用户决定,保证了众测测试结果及奖励获取的公平性;基于区块链技术中的私人数据特性,测试人员的隐私数字资产存储于本地而不用提交给中心数据库,既减轻了中心数据库的存储压力,隐私数据也得以更安全地保护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种基于区块链技术的众测流程管理系统结构示意图;
图2为本发明实施例一种基于区块链技术的众测流程管理方法流程图;
图3为本发明实施例基于区块链技术的众测流程管理系统的读写集示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于区块链技术的众测流程管理系统及方法,减轻了中心数据库的存储压力,隐私数据也得以更安全地保护。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例一种基于区块链技术的众测流程管理系统结构示意图,如图1所示,所述系统包括:
请求与反馈模块1、评价群组模拟执行及签名模块2、数据同步模块3、区块链基础设施4、共识排序模块5以及测试群组签名验证及记录模块6。
其中,所述请求与反馈模块1分别与所述评价群组模拟执行及签名模块2、测试群组签名验证及记录模块6和所述共识排序模块5连接;所述评价群组模拟执行及签名模块2与所述数据同步模块3连接;所述数据同步模块3分别与所述区块链基础设施4和所述测试群组签名验证及记录模块6连接;所述区块链基础设施4与所述共识排序模块5连接;所述共识排序模块5与所述测试群组签名验证及记录模块6连接。
所述评价群组模拟执行及签名模块2用于根据测试需求及奖励规则模拟执行,并产生“测试项-结果-奖励余额-测试用户-版本”的读写集,并根据模拟执行结果决定签名与否。
所述测试群组签名验证及记录模块6用于验证所有所述评价群组模拟执行及签名模块2中的签名状态是否符合已附属在测试需求中的测试通过准则。
所述共识排序模块5用于对所述读写集进行共识排序,对排序结果打包成区块,并对所述测试群组签名验证及记录模块6进行广播。
所述请求与反馈模块1用于在所述评价群组模拟执行及签名模块2、测试群组签名验证及记录模块6、共识排序模块5与测试用户之间实现信息交互。
所述区块链基础设施4用于存储所述评价群组模拟执行及签名模块2和所述测试群组签名验证及记录模块6执行所需求的详细数据,同时存储所述共识排序模块5所打包的区块,由区块链系统提供方负责运维。
所述数据同步模块3用于同步所述评价群组模拟执行及签名模块2与所述测试群组签名验证及记录模块6所分别维护的数据版本,根据数据版本到所述区块链基础设施4获取详细数据。
具体的,所述系统还包括:
众测任务获取模块7、众测任务执行模块8、测试结果提交模块9、模拟执行及签名模块10、验证签名及记录模块11以及众测奖励获取模块12。
所述众测任务获取模块7、众测任务执行模块8、测试结果提交模块9、模拟执行及签名模块10、验证签名及记录模块11以及众测奖励获取模块12依次连接。
所述众测任务获取模块7用于使测试用户加入到众测逻辑测试链,并从众测逻辑测试链系统中获取众测任务发布方已发布的众测任务、分配到测试用户的具体测试任务。
众测任务执行模块8用于基于测试任务进行测试。
测试结果提交模块9用于向众测流程管理系统核心模块中的所述请求与反馈模块1提交测试结果。
所述模拟执行及签名模块10用于评价群组通过流程管理系统核心模块中的所述评价群组模拟执行及签名模块2获取测试用户提交的测试结果,并自动化模拟执行测试结果,生成读写集反馈到所述请求与反馈模块1,使测试用户获取所提交测试结果对应的签名读写集。
验证签名及记录模块11用于提交签名读写集,并将所述签名读写集发送至所述共识排序模块5,通过所述共识排序模块5对签名读写集进行排序出块,将签名读写集区块发送给流程管理系统核心模块中的所述测试群组签名验证及记录模块6,测试群组对读写集的签名进行验证,验证通过后记录到区块链基础设施。
众测奖励获取模块12用于获取已被记录到区块链基础设施的测试结果所对应的众测奖励。
图2为本发明实施例一种基于区块链技术的众测流程管理方法,如图2所示,所述方法包括:
步骤1:通过请求与反馈模块1提交测试结果请求。
步骤2:通过评价群组模拟执行及签名模块2模型执行请求中的测试结果,生成读写集并签名。
步骤3:通过所述评价群组模拟执行及签名模块2向所述请求与反馈模块1反馈所述读写集。
步骤4:通过所述请求与反馈模块1提交所述读写集。
步骤5:通过共识排序模块5对所述读写集进行共识排序,生成读写集序列,并打包成区块;所述共识排序模块包括若干排序节点。
步骤6:通过测试群组签名验证及记录模块6打开所述读写集序列,并执行签名验证及记录操作。
步骤7:通过所述测试群组签名验证及记录模块6向所述请求与反馈模块1提交执行结果。
具体的,所述方法在通过请求与反馈模块1提交测试结果请求之前还包括:
获取众测任务。
基于所述众测任务进行测试,得到测试结果。
具体的,步骤2中所述模拟执行请求具体包括:
步骤201:通过评价群组模拟执行及签名模块2利用数据同步模块3获取当前数据版本,依据所述当前数据版本从区块链基础设施4获取详细数据后生成读集。
步骤202:通过所述评价群组模拟执行及签名模块2根据测试需求及奖励规则模拟执行,产生写集,将所述读集和所述写集进行整合,成得到读写集;
步骤203:通过所述评价群组模拟执行及签名模块2判断所述写集是否有效,若有效,执行步骤204,若无效,执行步骤205。
步骤204:通过所述评价群组模拟执行及签名模块2在产生的读写集上签名。
步骤205:通过所述评价群组模拟执行及签名模块2生成“测试项-结果-奖励余额-测试用户-版本-是否签名”的读写集。
具体的,所述读写集包括两部分,分别为众测任务具体测试需求中的若干测试项和测试人员基本信息;所述若干测试项包括:测试项、预期测试结果、该测试项所对应的可获取奖励、发现该测试项问题的测试用户名以及当前测试项数据的版本;所述测试人员基本信息包括:测试用户名、该用户当前所获取的奖励以及当前测试用户数据的版本。
具体的,步骤5中所述通过共识排序模块5对所述读写集进行共识排序,生成读写集序列,并打包成区块具体包括:
步骤501:通过所述共识排序模块5中的排序节点接收来自不同测试成员提交的读写集。
步骤502:通过不同排序节点将读写集按接收顺序发送至Kafka/Raft集群,进行分布式排序。
步骤503:Kafka/Raft根据出块原则,将排序后的读写集打包成区块,并通过所述共识排序模块5将所述区块广播给所述测试群组签名验证及记录模块6,并将所述区块存储于所述区块链基础设施4。
具体的,步骤6中,所述通过测试群组签名验证及记录模块6打开所述读写集序列,并执行签名验证及记录操作具体包括:
步骤601:通过所述测试群组签名验证及记录模块6打开所述共识排序模块5所广播的区块内所有读写集。
步骤602:通过所述测试群组签名验证及记录模块6验证所有读写集中的现有签名状态是否符合测试通过准则,若符合,执行步骤603,若不符合,执行步骤606。
步骤603:通过所述测试群组签名验证及记录模块6采用所述数据同步模块3的当前数据版本,从所述区块链基础设施4中读取详细数据,并生成读集,验证当前读集中的版本是否与区块内的读写集版本一致,若一致,执行步骤604,若不一致,执行步骤606。
步骤604:通过所述测试群组签名验证及记录模块6将区块内的写集写入所述区块链基础设施4。
步骤605:通过所述测试群组签名验证及记录模块6采用所述数据同步模块3更新当前最新数据版本,并全网广播。
步骤606:通过所述测试群组签名验证及记录模块6将执行结果反馈给所述请求与反馈模块1。
其中,评价群组模拟执行及签名模块2的作用是根据测试需求及奖励规则模拟执行,并产生“测试项-结果-奖励余额-测试用户-版本”的读写集,根据模拟执行结果决定签名与否。
测试群组签名验证及记录模块6的作用是验证所有评价群组模拟执行及签名模块2中的签名状态是否符合已附属在测试需求中的测试通过准则。
共识排序模块5的作用是对读写集进行共识排序,对排序结果打包成区块,并对测试群组签名验证及记录模块6进行广播。
请求与反馈模块1的作用是在评价群组模拟执行及签名模块2、测试群组签名验证及记录模块6、共识排序模块5与测试用户之间实现信息交互。
区块链基础设施4的作用是存储评价群组模拟执行及签名模块2和测试群组签名验证及记录模块6执行所需求的详细数据,同时存储共识排序模块5所打包的区块,由区块链系统提供方负责运维。
数据同步模块3的作用是同步评价群组模拟执行及签名模块2与测试群组签名验证及记录模块6所分别维护的数据版本,根据数据版本到区块链基础设施4获取详细数据。
图3为本发明实施例一种基于区块链技术的众测流程管理方法中,测试用户成功发现测试问题后,并且经模拟执行验证结果有效后,读写集内容的变化示意,如图3所示,所述内容的变化包括:
原测试项读写集包含:测试项名称、预期输出结果、该测试项的奖励余额V、该测试项发现问题的测试用户为空、该测试项版本为0。当测试用户通过测试用例进行测试,发现该测试项在用例下实际输出结果与预期输出结果不一致,则发现该测试项有缺陷。用户提交测试用例,经过评价通过后,该测试项读写集内容包含:测试项名称、预期输出结果、该测试项的奖励余额减少为0(该奖励将会被提交测试用例的用户获取)、该测试项发现问题的测试用户更新为提交测试用例的用户、测试项版本更新为1。
原提交测试项问题的用户信息读写集包含:测试用户名、当前奖励为0、集合版本号为0。因该测试用户经评价能够获取测试项问题对应的奖励,该测试用户的用户信息读写集更新为:测试用户名称、当前奖励为V(对应测试项所获取的奖励添加到该测试用户账户下)、用户信息版本更新为1。
实施例1:测试结果提交全流程操作
测试成员U1已经加入了逻辑测试链C,该测试链由评价群组G1及普通测试群组G2共同维护。经测试找到了对应测试需求的问题,提交了测试结果并发起获取该测试需求奖励的请求,由请求于反馈模块1发起测试结果提交流程。评价群组G1通过评价群组模拟执行及签名模块2分别根据测试需求及奖励规则模拟执行,先根据数据同步模块3中的最新数据版本,通过版本从区块链基础设施4读取“{x(测试项)-R(结果)-V(奖励余额)-Null(测试用户)-0(版本)},{U1(测试用户)-Null(获得奖励)-0(版本)}”的读集,模拟执行测试需求后,产生了“{x(测试项)-r(结果)-Null(奖励余额)-U1(测试用户)-1(版本)},{U1(测试用户)-V(获得奖励)-1(版本)}”的写集,判定R与r符合预期,执行签名操作后先后返回给测试成员U1。测试成员U1先后将评价群组模拟执行及签名模块2返回的读写集提交给共识排序模块5,共识排序模块5对读写集进行共识排序,对排序结果打包成区块,并对所有逻辑测试链C内的测试群组G1+G2广播。测试群组签名验证及记录模块6通知G1+G2进行签名验证及记录操作,G1+G2获得n个带有签名的读写集后,先根据数据同步模块3中的最新数据版本,通过版本从区块链基础设施4获取当前数据版本的详细数据读集,并与读写集内的读集版本作比对,发现版本皆为0时,将写集记录到区块链基础设施4,更新数据同步模块3中该数据的版本,数据同步模块3将这一数据版本更新信息同步到其他的测试群组。最终测试群组签名验证及记录模块6将结果反馈给测试成员U1。
至此众测任务测试结果提交全流程结束,测试用户U1的账户数据在区块链基础设施4中的数据由原来的{U1(测试用户)-Null(获得奖励)-0(版本)}变为了{U1(测试用户)-V(获得奖励)-1(版本)};而所发现的测试项x在区块链基础设施4中的数据由原来的{x(测试项)-R(结果)-V(奖励余额)-Null(测试用户)-0(版本)}变为了{x(测试项)-r(结果)-Null(奖励余额)-U1(测试用户)-1(版本)}。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种基于区块链技术的众测流程管理系统,其特征在于,所述系统包括:请求与反馈模块(1)、评价群组模拟执行及签名模块(2)、数据同步模块(3)、区块链基础设施(4)、共识排序模块(5)以及测试群组签名验证及记录模块(6);
所述请求与反馈模块(1)分别与所述评价群组模拟执行及签名模块(2)、测试群组签名验证及记录模块(6)和所述共识排序模块(5)连接;所述评价群组模拟执行及签名模块(2)与所述数据同步模块(3)连接;所述数据同步模块(3)分别与所述区块链基础设施(4)和所述测试群组签名验证及记录模块(6)连接;所述区块链基础设施(4)与所述共识排序模块(5)连接;所述共识排序模块(5)与所述测试群组签名验证及记录模块(6)连接;
所述评价群组模拟执行及签名模块(2)用于根据测试需求及奖励规则模拟执行,并产生“测试项-结果-奖励余额-测试用户-版本”的读写集,并根据模拟执行结果决定签名与否;
所述测试群组签名验证及记录模块(6)用于验证所有所述评价群组模拟执行及签名模块(2)中的签名状态是否符合已附属在测试需求中的测试通过准则;
所述共识排序模块(5)用于对所述读写集进行共识排序,对排序结果打包成区块,并对所述测试群组签名验证及记录模块(6)进行广播;
所述请求与反馈模块(1)用于在所述评价群组模拟执行及签名模块(2)、测试群组签名验证及记录模块(6)、共识排序模块(5)与测试用户之间实现信息交互;
所述区块链基础设施(4)用于存储所述评价群组模拟执行及签名模块(2)和所述测试群组签名验证及记录模块(6)执行所需求的详细数据,同时存储所述共识排序模块(5)所打包的区块,由区块链系统提供方负责运维;
所述数据同步模块(3)用于同步所述评价群组模拟执行及签名模块(2)与所述测试群组签名验证及记录模块(6)所分别维护的数据版本,根据数据版本到所述区块链基础设施(4)获取详细数据;
所述系统还包括:
众测任务获取模块(7)、众测任务执行模块(8)、测试结果提交模块(9)、模拟执行及签名模块(10)、验证签名及记录模块(11)以及众测奖励获取模块(12);
所述众测任务获取模块(7)、众测任务执行模块(8)、测试结果提交模块(9)、模拟执行及签名模块(10)、验证签名及记录模块(11)以及众测奖励获取模块(12)依次连接;
所述众测任务获取模块(7)用于使测试用户加入到众测逻辑测试链,并从众测逻辑测试链系统中获取众测任务发布方已发布的众测任务、分配到测试用户的具体测试任务;
众测任务执行模块(8)用于基于测试任务进行测试;
测试结果提交模块(9)用于向众测流程管理系统核心模块中的所述请求与反馈模块(1)提交测试结果;
所述模拟执行及签名模块(10)用于评价群组通过流程管理系统核心模块中的所述评价群组模拟执行及签名模块(2)获取测试用户提交的测试结果,并自动化模拟执行测试结果,生成读写集反馈到所述请求与反馈模块(1),使测试用户获取所提交测试结果对应的签名读写集;
验证签名及记录模块(11)用于提交签名读写集,并将所述签名读写集发送至所述共识排序模块(5),通过所述共识排序模块(5)对签名读写集进行排序出块,将签名读写集区块发送给流程管理系统核心模块中的所述测试群组签名验证及记录模块(6),测试群组对读写集的签名进行验证,验证通过后记录到区块链基础设施;
众测奖励获取模块(12)用于获取已被记录到区块链基础设施的测试结果所对应的众测奖励。
2.一种基于区块链技术的众测流程管理方法,所述方法应用于如权利要求1所述的基于区块链技术的众测流程管理系统,其特征在于,所述方法包括:
通过请求与反馈模块(1)提交测试结果请求;
通过评价群组模拟执行及签名模块(2)模型执行请求中的测试结果,生成读写集并签名;
通过所述评价群组模拟执行及签名模块(2)向所述请求与反馈模块(1)反馈所述读写集;
通过所述请求与反馈模块(1)提交所述读写集;
通过共识排序模块(5)对所述读写集进行共识排序,生成读写集序列,并打包成区块;所述共识排序模块包括若干排序节点;
通过测试群组签名验证及记录模块(6)打开所述读写集序列,并执行签名验证及记录操作;
通过所述测试群组签名验证及记录模块(6)向所述请求与反馈模块(1)提交执行结果;
所述模拟执行请求具体包括:
步骤201:通过评价群组模拟执行及签名模块(2)利用数据同步模块(3)获取当前数据版本,依据所述当前数据版本从区块链基础设施(4)获取详细数据后生成读集;
步骤202:通过所述评价群组模拟执行及签名模块(2)根据测试需求及奖励规则模拟执行,产生写集,将所述读集和所述写集进行整合,成得到读写集;
步骤203:通过所述评价群组模拟执行及签名模块(2)判断所述写集是否有效,若有效,执行步骤204,若无效,执行步骤205;
步骤204:通过所述评价群组模拟执行及签名模块(2)在产生的读写集上签名;
步骤205:通过所述评价群组模拟执行及签名模块(2)生成“测试项-结果-奖励余额-测试用户-版本-是否签名”的读写集;
所述通过共识排序模块(5)对所述读写集进行共识排序,生成读写集序列,并打包成区块具体包括:
步骤501:通过所述共识排序模块(5)中的排序节点接收来自不同测试成员提交的读写集;
步骤502:通过不同排序节点将读写集按接收顺序发送至Kafka/Raft集群,进行分布式排序;
步骤503:Kafka/Raft根据出块原则,将排序后的读写集打包成区块,并通过所述共识排序模块(5)将所述区块广播给所述测试群组签名验证及记录模块(6),并将所述区块存储于所述区块链基础设施(4);
所述通过测试群组签名验证及记录模块(6)打开所述读写集序列,并执行签名验证及记录操作具体包括:
步骤601:通过所述测试群组签名验证及记录模块(6)打开所述共识排序模块(5)所广播的区块内所有读写集;
步骤602:通过所述测试群组签名验证及记录模块(6)验证所有读写集中的现有签名状态是否符合测试通过准则,若符合,执行步骤603,若不符合,执行步骤606;
步骤603:通过所述测试群组签名验证及记录模块(6)采用所述数据同步模块(3)的当前数据版本,从所述区块链基础设施(4)中读取详细数据,并生成读集,验证当前读集中的版本是否与区块内的读写集版本一致,若一致,执行步骤604,若不一致,执行步骤606;
步骤604:通过所述测试群组签名验证及记录模块(6)将区块内的写集写入所述区块链基础设施(4);
步骤605:通过所述测试群组签名验证及记录模块(6)采用所述数据同步模块(3)更新当前最新数据版本,并全网广播;
步骤606:通过所述测试群组签名验证及记录模块(6)将执行结果反馈给所述请求与反馈模块(1)。
3.根据权利要求2所述的基于区块链技术的众测流程管理方法,其特征在于,所述方法在通过请求与反馈模块(1)提交测试结果请求之前还包括:
获取众测任务;
基于所述众测任务进行测试,得到测试结果。
4.根据权利要求2所述的基于区块链技术的众测流程管理方法,其特征在于,所述读写集包括两部分,分别为众测任务具体测试需求中的若干测试项和测试人员基本信息;所述若干测试项包括:测试项、预期测试结果、该测试项所对应的可获取奖励、发现该测试项问题的测试用户名以及当前测试项数据的版本;所述测试人员基本信息包括:测试用户名、该用户当前所获取的奖励以及当前测试用户数据的版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010649265.XA CN111782537B (zh) | 2020-07-08 | 2020-07-08 | 一种基于区块链技术的众测流程管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010649265.XA CN111782537B (zh) | 2020-07-08 | 2020-07-08 | 一种基于区块链技术的众测流程管理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782537A CN111782537A (zh) | 2020-10-16 |
CN111782537B true CN111782537B (zh) | 2021-12-17 |
Family
ID=72759169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010649265.XA Active CN111782537B (zh) | 2020-07-08 | 2020-07-08 | 一种基于区块链技术的众测流程管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782537B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171603A (zh) * | 2017-12-15 | 2018-06-15 | 深圳智盾信息技术有限公司 | 一种基于区块链的积分管理系统 |
CN109858228A (zh) * | 2019-01-31 | 2019-06-07 | 上海计算机软件技术开发中心 | 基于区块链的数据共享服务平台及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921551B (zh) * | 2018-06-11 | 2021-07-27 | 西安纸贵互联网科技有限公司 | 基于Kubernetes平台的联盟区块链系统 |
CN109325854B (zh) * | 2018-08-16 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 区块链网络、部署方法及存储介质 |
WO2019101235A2 (en) * | 2019-03-04 | 2019-05-31 | Alibaba Group Holding Limited | Methods and devices for testing signature verification for blockchain system |
CN110543326B (zh) * | 2019-08-27 | 2023-05-12 | 山东浪潮科学研究院有限公司 | 一种基于区块链的DevOps智能运维方法 |
-
2020
- 2020-07-08 CN CN202010649265.XA patent/CN111782537B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171603A (zh) * | 2017-12-15 | 2018-06-15 | 深圳智盾信息技术有限公司 | 一种基于区块链的积分管理系统 |
CN109858228A (zh) * | 2019-01-31 | 2019-06-07 | 上海计算机软件技术开发中心 | 基于区块链的数据共享服务平台及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111782537A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442652B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN110046523B (zh) | 智能合约校验方法及装置和电子设备 | |
Paulavičius et al. | A systematic review and empirical analysis of blockchain simulators | |
US20210049715A1 (en) | Blockchain-based data procesing method, apparatus, and electronic device | |
US20220300820A1 (en) | Ann-based program testing method, testing system and application | |
CN111782551B (zh) | 针对区块链项目的测试方法、装置及计算机设备 | |
CN107203343A (zh) | 一种数据存储方法、系统及设备 | |
CN112035350B (zh) | 针对区块链系统的测试方法、装置及计算机设备 | |
CN108460068A (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
CN112053166A (zh) | 一种基于区块链的商务云平台管理方法及系统 | |
CN111782537B (zh) | 一种基于区块链技术的众测流程管理系统及方法 | |
CN112506771A (zh) | 一种报文比对方法和装置 | |
CN108876096A (zh) | 一种数据处理方法、装置及相关设备 | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN115952224A (zh) | 一种异构报表集成方法、设备及介质 | |
CN109727121A (zh) | 基于区块链网络的借贷匹配方法、信息审核方法 | |
CN115481026A (zh) | 测试案例的生成方法、装置、计算机设备、存储介质 | |
CN112953747B (zh) | 一种联盟链的性能分析方法、系统及终端设备 | |
CN114298840A (zh) | 一种基于零知识证明的区块链交易背书方法及系统 | |
CN114491662A (zh) | 一种基于区块链的数据资产审计方法、系统及设备 | |
CN113344708A (zh) | 大型系统投产演练应用评估方法及系统 | |
CN109471790A (zh) | 送核参数比对方法及装置、计算机装置及可读存储介质 | |
CN112100064A (zh) | 基于区块链的软件购买方法、认证节点及购买方节点 | |
Begicheva et al. | Does your event log fit the high-level process model? | |
Li et al. | A novel completeness definition of event logs and corresponding generation algorithm |
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 |