计算任务的处理方法和装置、存储介质及处理器制造方法及图纸

技术编号:26222660 阅读:17 留言:0更新日期:2020-11-04 10:53
本发明专利技术公开了一种计算任务的处理方法和装置、存储介质及处理器。其中,该方法包括:区块链上的第一计算节点接收到计算任务集合,在计算任务集合完成的情况下,第一计算节点将计算结果集合广播至区块链中的验证节点,其中,验证节点为区块链上的任意一个计算节点;随机抽取第一计算节点上已经广播的部分计算结果;通过对产生部分计算结果对应的计算任务进行重新计算,对随机抽取的部分计算结果进行验证;如果重新计算得到的验证结果与已经广播的计算结果一致,则第一计算节点发布的计算结果通过验证。本发明专利技术解决了现有技术中在区块链中存在大量的计算任务,在计算任务的处理过程中,存在计算结果无法快速验证的技术问题。

【技术实现步骤摘要】
计算任务的处理方法和装置、存储介质及处理器
本专利技术涉及区块链
,具体而言,涉及一种计算任务的处理方法和装置、存储介质及处理器。
技术介绍
区块链是一个分布式的账本,区块链网络节点之间的去中心化协议维护着一条不停增长的由有序数据块组成的数据链,每一个数据区块内都有一个时间戳和一个指针,指向上一个区块,它能安全地存储数字货币或者股权,债权,版权等的交易数据,区块中的信息不可伪造和篡改。在完成计算任务的过程中,有三个主要因素:输入数据、应用程序和计算资源。其中,应用程序发挥着非常重要的作用,它往往决定了如何使用计算资源,对输入数据进行怎样的操作。因此,为了保证计算任务的安全性,避免数据泄露或者计算资源被入侵的情况,需要对应用程序的安全性有一定的要求。在区块链中的一个节点向其它节点广播其已经生成了新的区块后,其它节点需要对其完成的工作量进行验证,以确保该节点的确使用指定的应用程序完成了对所有输入数据的处理,产生了真实的计算结果,而不是伪造了计算结果。传统的区块链的工作量证明方式为解决一个复杂的数学问题,例如通过哈希函数计算得到满足某些特定条件的数字。最终第一个解决该问题,并得到区块链中大多数节点验证通过的节点得到生成新的区块的权利并获得一定的奖励。但是,该种做法导致大量计算资源被浪费。针对现有技术中在区块链中存在大量的计算任务,在计算任务的处理过程中,存在计算结果无法快速验证的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种计算任务的处理方法和装置、存储介质及处理器,以至少解决现有技术中在区块链中存在大量的计算任务,在计算任务的处理过程中,存在计算结果无法快速验证的技术问题。根据本专利技术实施例的一个方面,提供了一种计算任务的处理方法,包括:区块链上的第一计算节点接收到计算任务集合,在计算任务集合完成的情况下,第一计算节点将计算结果集合广播至区块链中的验证节点,其中,验证节点为区块链上的任意一个计算节点或部分计算节点;随机抽取第一计算节点上已经广播的部分计算结果;通过对产生部分计算结果对应的计算任务进行重新计算,对随机抽取的部分计算结果进行验证;如果重新计算得到的验证结果与已经广播的计算结果一致,则第一计算节点发布的计算结果通过验证。进一步地,通过对产生部分计算结果的计算任务进行重新计算,来对随机抽取的部分计算结果进行验证,包括:获取用于处理目标计算任务的应用程序所接收到的输入数据,和验证节点随机生成的参考数据,其中,目标计算任务为产生了部分计算结果的计算任务;验证节点使用应用程序对输入数据和参考数据进行计算,得到验证结果;将验证结果与第一计算节点上对应的计算任务产生的计算结果进行比对,来完成验证。进一步地,基于随机数生成函数生成参考数据,参考数据用于表征验证的计算结果与第一计算节点上对应的计算任务之间的对应关系。进一步地,区块链上进行验证的计算节点的数量超过预设阈值的情况下,随机抽取预定数量的计算节点的验证结果作为子集构成区块链的整体验证结果。进一步地,预定数量用于确定验证节点数量,其中,基于问题复杂度m和每次验证长度n确定验证节点数量。进一步地,在对区块链上的计算任务集合进行验证的过程中,该方法还包括:获取任意一个计算节点上用于处理计算任务的应用程序;获取区块链上的历史信息,其中,历史信息至少包括:发布应用程序的程序发布对象的信用等级,发布计算任务的任务发布对象的信用等级;基于程序发布对象的信用等级和/或任务发布对象的信用等级,确定审查等级;基于审查等级,确定验证模式,其中,验证模式用于验证计算节点发布的计算结果。进一步地,根据发布应用程序的历史信息确定程序发布对象的信用等级,根据发布计算任务的历史通过率确定任务发布对象的信用等级。进一步地,程序发布对象的信用等级基于历史上发布应用程序的发布次数、程序通过率、使用次数的变化而更新。进一步地,任务发布对象的信用等级基于历史上发布计算任务的发布次数、任务通过次数、任务完成次数、任务完成率的变化而更新。进一步地,基于审查等级,确定验证模式,其中,验证模式包括如下至少之一:不进行片段验证和不进行数据集验证;不进行片段验证和进行数据集验证;降低片段验证的倍数并进行片段验证,和进行数据集验证。进一步地,通过如下任意一种方式验证发布应用程序的平台的安全性:检测应用程序的开源代码、使用安全验证软件验证应用程序、使用安全测试程序验证应用程序。进一步地,计算任务包括:用于处理计算任务的应用程序的程序信息,计算任务对应的输入数据的数据信息,以及完成计算任务所获得的虚拟资源。进一步地,第一计算节点接收到计算任务集合的同时,接收计算任务的计算工作量和按照预设算法验证计算结果集合的验证工作量,其中,计算工作量基于输入数据的数据量和应用程序使用的算法的复杂度确定,验证工作量基于预设总工作量和计算工作量确定。进一步地,多次随机抽取第一计算节点上已经广播的部分计算结果,并对每次随机抽取的部分计算结果进行验证,如果多次重新计算得到的验证结果均与已经广播的计算结果一致,则第一计算节点发布的计算结果通过验证。进一步地,在区块链上的每个计算节点验证通过的情况下,确定更新后的区块为新区块。根据本专利技术实施例的另一方面,还提供了一种计算任务的处理方法,包括:区块链上的第一计算节点接收到计算任务集合,且计算任务集合中的计算任务完成的情况下,第一计算节点将计算结果集合广播至区块链中的验证节点,其中,验证节点为区块链上的任意一个计算节点或部分计算节点;获取区块链上的历史信息,其中,历史信息至少包括:发布应用程序的程序发布对象的信用等级,发布计算任务的任务发布对象的信用等级,应用程序在任意一个计算节点上,且用于处理计算任务;基于程序发布对象的信用等级和/或任务发布对象的信用等级,确定审查等级;基于审查等级,确定验证模式,其中,验证模式用于验证计算节点发布的计算结果;随机抽取第一计算节点上已经广播的部分计算结果;通过对产生部分计算结果对应的计算任务进行重新计算,对随机抽取的部分计算结果进行验证。进一步地,根据发布应用程序的历史信息确定程序发布对象的信用等级,根据发布计算任务的历史通过率确定任务发布对象的信用等级。进一步地,程序发布对象的信用等级基于历史上发布应用程序的发布次数、程序通过率、使用次数的变化而更新。进一步地,任务发布对象的信用等级基于历史上发布计算任务的发布次数、任务通过次数、任务完成次数、任务完成率的变化而更新。进一步地,基于审查等级,确定验证模式,其中,验证模式包括如下至少之一:不进行片段验证及数据集验证、不进行片段验证且进行数据集验证、降低片段验证的倍数和进行片段验证及数据集验证。进一步地,通过对产生部分计算结果对应的计算任务进行重新计算,对随机抽取的部分计算结果进行验证,包括:获取用于处理目标计算任务的应用程序所接收到的输入数据,和验证节点随机生成的参考数据,其中,目标计算任本文档来自技高网...

【技术保护点】
1.一种计算任务的处理方法,其特征在于,包括:/n区块链上的第一计算节点接收到计算任务集合,在所述计算任务集合完成的情况下,所述第一计算节点将计算结果集合广播至所述区块链中的验证节点,其中,所述验证节点为所述区块链上的任意一个计算节点或部分计算节点;/n随机抽取所述第一计算节点上已经广播的部分计算结果;/n通过对产生所述部分计算结果对应的计算任务进行重新计算,对所述随机抽取的所述部分计算结果进行验证;/n如果重新计算得到的验证结果与已经广播的计算结果一致,则所述第一计算节点发布的计算结果通过验证。/n

【技术特征摘要】
1.一种计算任务的处理方法,其特征在于,包括:
区块链上的第一计算节点接收到计算任务集合,在所述计算任务集合完成的情况下,所述第一计算节点将计算结果集合广播至所述区块链中的验证节点,其中,所述验证节点为所述区块链上的任意一个计算节点或部分计算节点;
随机抽取所述第一计算节点上已经广播的部分计算结果;
通过对产生所述部分计算结果对应的计算任务进行重新计算,对所述随机抽取的所述部分计算结果进行验证;
如果重新计算得到的验证结果与已经广播的计算结果一致,则所述第一计算节点发布的计算结果通过验证。


2.根据权利要求1所述的方法,其特征在于,通过对产生所述部分计算结果对应的计算任务进行重新计算,对所述随机抽取的所述部分计算结果进行验证,包括:
获取用于处理目标计算任务的应用程序所接收到的输入数据,和所述验证节点随机生成的参考数据,其中,所述目标计算任务为产生了所述部分计算结果的计算任务;
所述验证节点使用所述应用程序对所述输入数据和所述参考数据进行计算,得到所述验证结果;
将所述验证结果与所述第一计算节点上对应的计算任务产生的计算结果进行比对,来完成所述验证。


3.根据权利要求2所述的方法,其特征在于,基于随机数生成函数生成所述参考数据,所述参考数据用于表征验证的计算结果与所述第一计算节点上对应的计算任务之间的对应关系。


4.根据权利要求1所述的方法,其特征在于,所述区块链上进行验证的计算节点的数量超过预设阈值的情况下,随机抽取预定数量的计算节点的验证结果作为子集构成所述区块链的整体验证结果。


5.根据权利要求4所述的方法,其特征在于,所述预定数量用于确定验证节点数量,其中,基于问题复杂度m和每次验证长度n确定所述验证节点数量。


6.根据权利要求1至5中任意一项所述的方法,其特征在于,在对区块链上的计算任务集合进行验证的过程中,所述方法还包括:
获取所述任意一个计算节点上用于处理所述计算任务的应用程序;
获取所述区块链上的历史信息,其中,所述历史信息至少包括:发布所述应用程序的程序发布对象的信用等级,发布所述计算任务的任务发布对象的信用等级;
基于所述程序发布对象的信用等级和/或所述任务发布对象的信用等级,确定审查等级;
基于所述审查等级,确定验证模式,其中,所述验证模式用于验证所述计算节点发布的计算结果。


7.根据权利要求6所述的方法,其特征在于,根据发布所述应用程序的历史信息确定所述程序发布对象的信用等级,根据发布计算任务的历史通过率确定所述任务发布对象的信用等级。


8.根据权利要求7所述的方法,其特征在于,所述程序发布对象的信用等级基于历史上发布应用程序的发布次数、程序通过率、使用次数的变化而更新;和/或所述任务发布对象的信用等级基于历史上发布计算任务的发布次数、任务通过次数、任务完成次数、任务完成率的变化而更新。


9.根据权利要求6所述的方法,其特征在于,基于所述审查等级,确定验证模式,其中,所述验证模式包括如下至少之一:
不进行片段验证和不进行数据集验证;
不进行片段验证和进行数据集验证;
降低片段验证的倍数并进行片段验证,和进行数据集验证。


10.根据权利要求6所述的方法,其特征在于,通过如下任意一种方式验证发布所述应用程序的平台的安全性:检测所述应用程序的开源代码、使用安全验证软件验证所述应用程序、使用安全测试程序验证所述应用程序。


11.根据权利要求1所述的方法,其特征在于,所述计算任务包括:用于处理所述计算任务的应用程序的程序信息,所述计算任务对应的输入数据的数据信息,以及完成所述计算任务所获得的虚拟资源。


12.根据权利要求11所述的方法,其特征在于,所述第一计算节点接收到所述计算任务集合的同时,接收所述计算任务的计算工作量和按照预设算法验证所述计算结果集合的验证工作量,其中,所述计算工作量基于所述输入数据的数据量和所述应用程序使用的算法的复杂度确定,所述验证工作量基于预设总工作量和所述计算工作量确定。


13.根据权利要求1所述的方法,其特征在于,多次随机抽取所述第一计算节点上已经广播的部分计算结果,并对每次随机抽取的部分计算结果进行验证,如果多次重新计算得到的验证结果均与所述已经广播的计算结果一致,则所述第一计算节点发布的计算结果通过验证。


14.根据权利要求1所述的方法,其特征在于,在所述区块链上的每个计算节点验证通过的情况下,确定更新后的区块为新区块。


15.一种计算任务的处理装置,其特征在于,包括:
广播模块,用于区块链上的第一计算节点接收到计算任务集合,在所述计算任务集合完成的情况下,所述第一计算节点将计算结果集合广播至所述区块链中的验证节点,其中,所述验证节点为所述区块链上的任意一个计算节点或部分计算节点;
抽取模块,用于随机...

【专利技术属性】
技术研发人员:李振宇张奥萌王蒙曹文财郑汉城王健
申请(专利权)人:深圳数字生命研究院深圳碳云智能数字生命健康管理有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1