CN110659110B - 一种基于区块链分布式计算的方法及系统 - Google Patents
一种基于区块链分布式计算的方法及系统 Download PDFInfo
- Publication number
- CN110659110B CN110659110B CN201810686921.6A CN201810686921A CN110659110B CN 110659110 B CN110659110 B CN 110659110B CN 201810686921 A CN201810686921 A CN 201810686921A CN 110659110 B CN110659110 B CN 110659110B
- Authority
- CN
- China
- Prior art keywords
- task
- node
- execution
- transaction
- computing
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- 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/602—Providing cryptographic facilities 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于区块链分布式计算的方法,包括计算任务定义、计算任务分发与计算任务执行,其中计算任务定义又包含任务信息录入与可处理任务类型登记,计算任务分发又包含数据拆解与节点连接,计算任务执行又包含任务信息获取与任务执行,本发明还公开一种基于区块链分布式计算的系统,包括计算任务定义模块、计算任务分发模块与计算任务执行模块,计算任务定义模块又分为任务信息录入子模块与可处理任务类型登记子模块,计算任务分发模块又分为数据拆解子模块与节点连接子模块,计算任务执行模块又分为任务信息获取子模块与任务执行子模块,本发明的有益效果为实现去中心弹性分布式计算,解决了大规模分布式计算、空闲资源浪费的问题。
Description
技术领域
本发明属于区块链领域,尤其涉及一种基于区块链分布式计算的方法及系统。
背景技术
随着互联网时代的发展,对信息化的要求越来越高,越来越多的场景需要使用计算机进行计算,而单一计算机的计算能力总是有限的,在实际应用中往往采用集群的形式进行计算,但这往往需要搭建集群的机构或个人拥有一定的初始经济实力,采用经济实力转为集群规模,从而提升整体计算能力,但并不是所有的机构在业务进行的初期就有一定规模的经济实力,另外就算搭建了一定规模的集群计算能力,但并不总是需要这么大的计算能力,往往是在某些突发业务中才需要一个很高的峰值计算需求,在大多数时间都只是低负荷的计算需求,因此在实际业务场景中,搭建大规模的计算能力来满足偶发的峰值计算需求并不是一个经济划算的解决方案。目前市面上有一些解决方案用于解决该问题,比如云计算,需求方可以根据业务与性能需求随时增减云服务器,这种方式一定程度上解决了初始投入大、性能可以弹性配置的问题,但依然只是简化了计算能力搭建方便灵活的问题,并没有解决根据计算能力需求灵活分配计算资源的问题。那么如何提供一种真正的可灵活分配计算资源又不用一次性大规模投入还富有弹性的计算资源分配方案成为一个急需解决的问题。
发明内容
本发明所要解决的技术问题是基于区块链打造分布式计算,为解决上述技术问题,本发明的技术解决方案是:
一种基于区块链的分布式计算的方法,其特征在于包括如下步骤:
(1)计算任务定义,具体包括如下步骤:
(1.1)任务信息录入:通过资源分配器填写任务定义信息,并将任务定义信息转为区块链交易,通过交易管理器将区块链交易提交到区块链上,区块链通过区块锻造器将交易打入区块,接着各节点通过区块同步器同步区块;
(1.2)可处理任务类型登记:各节点通过交易管理器解析获取到的交易,再通过任务驱动器提取任务定义中的测试输入数据,接着任务驱动器将测试输入数据以及执行代码放入任务虚拟机执行,并检查任务虚拟机执行结果是否与单元检查成功标志匹配,再通过任务分配器计算节点资源的利用率,当匹配且节点资源利用率小于特定数值时,表明节点可以处理该任务,其它节点接收到广播时,通过任务分配器记录下该节点位置以及可以处理的任务类型,节点完成任务可处理类型的登记,并完成计算任务的定义,重复以上步骤定义更多计算任务;
(2)计算任务分发,具体包括如下步骤:
(2.1)数据拆解:通过任务分配器从区块链查询可用任务列表,并选中一个任务获取任务定义信息,通过激励管理器为任务分配一定的数字资产作为计算资源使用费用,接着节点通过激励管理器根据任务复杂度以及即将提交到的数据量拆解任务,并将数据拆解为所有节点执行累积花费的费用小于本次支出的费用,最终将数据进一步拆解到每一个细分数据的执行时间都小于任务定义的最大时间,节点通过任务分配器将拆分后的数据依次填充到任务的输入参数列表中,再进一步将该任务转为区块链交易;
(2.2)节点连接:节点通过交易管理器为上述区块链交易打上签名,并通过任务分配器从本地任务分配列表中获取可以处理该任务的节点列表,如果本地没有该任务的节点列表则等待网络中有处理该交易的节点上线,如果本地有可以处理该任务的节点通过网络适配器则依次直接建立连接,再通过网络适配器判断可以处理该任务的节点是否可以直接连接,如果本地可以直接连接到这些节点,则立即定向发送该交易,如果本地无法建立直连,就通过网络适配器计算最佳达到路径,计算最佳到达路径成功后,发送到最佳路径到下一个节点,下一个节点接收到交易后依次发送到下一个节点,直到到达目标,如果无法计算最佳到达路径则等待网络中有处理该交易的节点上线,直到完成任务的分发,再重复以上步骤进行更多任务的分发;
(3)计算任务执行,具体包括如下步骤:
(3.1)任务信息获取:节点通过交易管理器接收待处理的任务,并将任务从区块链交易中提取出来,接着,节点通过任务分配器从区块链中获取该任务的定义信息;
(3.2)任务执行:节点通过激励管理器检查本次任务执行所需要的费用,并检查任务发起方手续费是否足额,手续费不足时节点通过任务分配器原路返回拒绝处理的消息,当足额时节点通过任务驱动器将该任务的数据以及任务定义中的任务代码放入任务虚拟机中,任务虚拟机循环将任务数据传入任务代码进行执行,激励管理器控制虚拟机执行完毕代码,或者执行到最大时间时结束执行,接着,任务虚拟机通过任务驱动器获取代码的执行结果,并将任务每一条的执行结果全部收集完毕,节点通过激励管理器将发起方账户下账,本节点账户上账,完成手续费收取,接着,任务虚拟机通过任务驱动器将任务执行的全部结果递交给交易管理器,交易管理器根据任务递交说明,原路返回执行结果,并将任务的执行结果填充入交易的结果栏并打上签名,接着,区块链通过区块锻造器将交易打入区块,节点通过区块锻造器广播区块,并最终完成任务的执行。
进一步的,所述步骤(1.1)中任务定义信息包含任务名称、任务简介、执行代码、输入参数列表、返回数据类型、测试输入数据、单元检查成功标志、最大执行深度、最大执行时间、每执行一步所需要消耗的资产等。
进一步的,所述步骤(1.2)中节点资源利用率特定数值为80%。
进一步的,所述步骤(3.2)中交易管理器将任务的执行结果填充入交易的结果栏并打上签名时,根据隐私要求填充结果进行加密。
一种基于区块链的分布式计算的系统,包括计算任务定义模块、计算任务分发模块与计算任务执行模块,计算任务定义模块又进一步分为任务信息录入子模块与可处理任务类型登记子模块,计算任务分发模块又进一步分为数据拆解子模块与节点连接子模块,计算任务执行模块又进一步分为任务信息获取子模块与任务执行子模块,其中:
任务信息录入子模块的工作流程为:通过资源分配器填写任务定义信息,并将任务定义信息转为区块链交易,通过交易管理器将区块链交易提交到区块链上,区块链通过区块锻造器将交易打入区块,接着各节点通过区块同步器同步区块;
可处理任务类型登记子模块的工作流程为:各节点通过交易管理器解析获取到的交易,再通过任务驱动器提取任务定义中的测试输入数据,接着任务驱动器将测试输入数据以及执行代码放入任务虚拟机执行,并检查任务虚拟机执行结果是否与单元检查成功标志匹配,再通过任务分配器计算节点资源的利用率,当匹配且节点资源利用率小于特定数值时,表明节点可以处理该任务,其它节点接收到广播时,通过任务分配器记录下该节点位置以及可以处理的任务类型,节点完成任务可处理类型的登记,并完成计算任务的定义,重复以上步骤定义更多计算任务;
数据拆解子模块的工作流程为:通过任务分配器从区块链查询可用任务列表,并选中一个任务获取任务定义信息,通过激励管理器为任务分配一定的数字资产作为计算资源使用费用,接着节点通过激励管理器根据任务复杂度以及即将提交到的数据量拆解任务,并将数据拆解为所有节点执行累积花费的费用小于本次支出的费用,最终将数据进一步拆解到每一个细分数据的执行时间都小于任务定义的最大时间,节点通过任务分配器将拆分后的数据依次填充到任务的输入参数列表中,再进一步将该任务转为区块链交易;
节点连接子模块的工作流程为:节点通过交易管理器为上述区块链交易打上签名,并通过任务分配器从本地任务分配列表中获取可以处理该任务的节点列表,如果本地没有该任务的节点列表则等待网络中有处理该交易的节点上线,如果本地有可以处理该任务的节点通过网络适配器则依次直接建立连接,再通过网络适配器判断可以处理该任务的节点是否可以直接连接,如果本地可以直接连接到这些节点,则立即定向发送该交易,如果本地无法建立直连,就通过网络适配器计算最佳达到路径,计算最佳到达路径成功后,发送到最佳路径到下一个节点,下一个节点接收到交易后依次发送到下一个节点,直到到达目标,如果无法计算最佳到达路径则等待网络中有处理该交易的节点上线,直到完成任务的分发,再重复以上步骤进行更多任务的分发;
任务信息获取子模块的工作流程为:节点通过交易管理器接收待处理的任务,并将任务从区块链交易中提取出来,接着,节点通过任务分配器从区块链中获取该任务的定义信息;
任务执行子模块的工作流程为:节点通过激励管理器检查本次任务执行所需要的费用,并检查任务发起方手续费是否足额,手续费不足时节点通过任务分配器原路返回拒绝处理的消息,当足额时节点通过任务驱动器将该任务的数据以及任务定义中的任务代码放入任务虚拟机中,任务虚拟机循环将任务数据传入任务代码进行执行,激励管理器控制虚拟机执行完毕代码,或者执行到最大时间时结束执行,接着,任务虚拟机通过任务驱动器获取代码的执行结果,并将任务每一条的执行结果全部收集完毕,节点通过激励管理器将发起方账户下账,本节点账户上账,完成手续费收取,接着,任务虚拟机通过任务驱动器将任务执行的全部结果递交给交易管理器,交易管理器根据任务递交说明,原路返回执行结果,并将任务的执行结果填充入交易的结果栏并打上签名,接着,区块链通过区块锻造器将交易打入区块,节点通过区块锻造器广播区块,并最终完成任务的执行。
进一步的,所述任务信息录入子模块中任务定义信息包含任务名称、任务简介、执行代码、输入参数列表、返回数据类型、测试输入数据、单元检查成功标志、最大执行深度、最大执行时间、每执行一步所需要消耗的资产等。
进一步的,所述可处理任务类型登记子模块中节点资源利用率特定数值为80%。
进一步的,所述任务执行子模块中交易管理器将任务的执行结果填充入交易的结果栏并打上签名时,根据隐私要求填充结果进行加密。
本发明的有益效果为实现去中心弹性分布式计算的作用,解决了大规模分布式计算、空闲资源浪费的问题。
附图说明
图1是本发明对应方法的流程图;
图2是本发明对应系统的结构框架图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如图1所示,一种基于区块链分布式计算的方法,在本实施例中核心的技术点是基于区块链打造分布式计算,将我们所需要计算的数据发送到区块链上,使用区块链各节点的计算能力进行计算,当计算需求量大时由更多的节点进行计算,计算结束就结束,不再占用节点计算资源,计算需求方也不用采购或租用节点,做到即算即用、算完即走的效果;在计算需求分发与接收过程中引入激励机制,让更多的节点加入进来参与计算、提供更好的计算能力;由于现实生活中绝大多数计算机的计算资源在多数时间都处于闲置状态,所以采用本发明不仅可以降低计算成本、提高计算灵活性,还能充分利用社会闲散资源,提升社会整体资源利用率。
本实施例利用资源分配器实现管理当前网络中可参与计算的节点,在本实施例中资源分配器中主要有两大核心模块,资源管理模块和分配管理模块,其中资源管理模块主要用于登记以及管理网络中有哪些能参与并行计算的节点,以及它们所能处理的计算类型,分配管理模块主要用于管理各节点计算的任务,以及它们的历史任务贡献情况。
本实施例利用任务驱动器实现在各节点中执行具体的计算任务。在任务驱动器中主要有三大核心模块,任务定义模块、任务解释模块和任务虚拟机模块。在任务定义模块中,用于登记与管理节点能处理的任务类型,以及任务的输入输出规范;在任务解释模块中,用于提取任务的明细数据,并按任务定义转换明细数据用于准备执行;在任务虚拟机模块中,用于将转换完毕的数据以及任务定义的执行方式放入虚拟机进行执行。
本实施例利用激励管理器实现节点筛选任务和反馈任务结果。在激励管理器中主要有两大核心模块,计算资源定价模块和激励分配模块。在计算资源定价模块中,用于根据任务类型中定义的计算步骤计算任务的复杂度,并根据实际需要计算的数据量,以及该类型任务在网络上的可用性给出计算资源定价;在激励分配模块中,用于计算节点检查任务执行中需求方给出的数字资产是否匹配定价,以及需求方根据任务复杂度和数据量将任务分解到多个不同的节点进行执行。
具体而言,本实施例方法包括以下步骤:
(1)计算任务定义,具体包括如下步骤:
(1.1)任务信息录入:通过资源分配器填写任务定义信息,包含任务名称、任务简介、执行代码、输入参数列表、返回数据类型、测试输入数据、单元检查成功标志、最大执行深度、最大执行时间、每执行一步所需要消耗的资产等,并将任务定义信息转为区块链交易,通过交易管理器将区块链交易提交到区块链上,区块链通过区块锻造器将交易打入区块,接着各节点通过区块同步器同步区块;
(1.2)可处理任务类型登记:各节点通过交易管理器解析获取到的交易,再通过任务驱动器提取任务定义中的测试输入数据,接着任务驱动器将测试输入数据以及执行代码放入任务虚拟机执行,并检查任务虚拟机执行结果是否与单元检查成功标志匹配,再通过任务分配器计算节点资源的利用率,当匹配且节点资源利用率小于80%时,表明节点可以处理该任务,其它节点接收到广播时,通过任务分配器记录下该节点位置以及可以处理的任务类型,节点完成任务可处理类型的登记,并完成计算任务的定义,重复以上步骤定义更多计算任务;
(2)计算任务分发,具体包括如下步骤:
(2.1)数据拆解:通过任务分配器从区块链查询可用任务列表,并选中一个任务获取任务定义信息,通过激励管理器为任务分配一定的数字资产作为计算资源使用费用,接着节点通过激励管理器根据任务复杂度以及即将提交到的数据量拆解任务,并将数据拆解为所有节点执行累积花费的费用小于本次支出的费用,最终将数据进一步拆解到每一个细分数据的执行时间都小于任务定义的最大时间,节点通过任务分配器将拆分后的数据依次填充到任务的输入参数列表中,再进一步将该任务转为区块链交易;
(2.2)节点连接:节点通过交易管理器为上述区块链交易打上签名,并通过任务分配器从本地任务分配列表中获取可以处理该任务的节点列表,如果本地没有该任务的节点列表则等待网络中有处理该交易的节点上线,如果本地有可以处理该任务的节点通过网络适配器则依次直接建立连接,再通过网络适配器判断可以处理该任务的节点是否可以直接连接,如果本地可以直接连接到这些节点,则立即定向发送该交易,如果本地无法建立直连,就通过网络适配器计算最佳达到路径,计算最佳到达路径成功后,发送到最佳路径到下一个节点,下一个节点接收到交易后依次发送到下一个节点,直到到达目标,如果无法计算最佳到达路径则等待网络中有处理该交易的节点上线,直到完成任务的分发,再重复以上步骤进行更多任务的分发;
(3)计算任务执行,具体包括如下步骤:
(3.1)任务信息获取:节点通过交易管理器接收待处理的任务,并将任务从区块链交易中提取出来,接着,节点通过任务分配器从区块链中获取该任务的定义信息;
(3.2)任务执行:节点通过激励管理器检查本次任务执行所需要的费用,并检查任务发起方手续费是否足额,手续费不足时节点通过任务分配器原路返回拒绝处理的消息,当足额时节点通过任务驱动器将该任务的数据以及任务定义中的任务代码放入任务虚拟机中,任务虚拟机循环将任务数据传入任务代码进行执行,激励管理器控制虚拟机执行完毕代码,或者执行到最大时间时结束执行,接着,任务虚拟机通过任务驱动器获取代码的执行结果,并将任务每一条的执行结果全部收集完毕,节点通过激励管理器将发起方账户下账,本节点账户上账,完成手续费收取,接着,任务虚拟机通过任务驱动器将任务执行的全部结果递交给交易管理器,交易管理器根据任务递交说明,原路返回执行结果,并将任务的执行结果填充入交易的结果栏并打上签名,在本实施例中,根据隐私要求填充结果进行加密。接着,区块链通过区块锻造器将交易打入区块,节点通过区块锻造器广播区块,并最终完成任务的执行。
以上所述,仅是本发明的较佳实施例而已,并非对本发明的技术范围作任何限制,故但凡依本发明的权利要求和说明书所做的变化或修饰,皆应属于本发明专利涵盖的范围之内。
Claims (8)
1.一种基于区块链的分布式计算的方法,其特征在于包括如下步骤:
(1)计算任务定义,具体包括如下步骤:
(1.1)任务信息录入:通过资源分配器填写任务定义信息,并将任务定义信息转为区块链交易,通过交易管理器将区块链交易提交到区块链上,区块链通过区块锻造器将交易打入区块,接着各节点通过区块同步器同步区块;
(1.2)可处理任务类型登记:各节点通过交易管理器解析获取到的交易,再通过任务驱动器提取任务定义中的测试输入数据,接着任务驱动器将测试输入数据以及执行代码放入任务虚拟机执行,并检查任务虚拟机执行结果是否与单元检查成功标志匹配,再通过任务分配器计算节点资源的利用率,当匹配且节点资源利用率小于特定数值时,表明节点可以处理该任务,其它节点接收到广播时,通过任务分配器记录下该节点位置以及可以处理的任务类型,节点完成任务可处理类型的登记,并完成计算任务的定义,重复以上步骤定义更多计算任务;
(2)计算任务分发,具体包括如下步骤:
(2.1)数据拆解:通过任务分配器从区块链查询可用任务列表,并选中一个任务获取任务定义信息,通过激励管理器为任务分配一定的数字资产作为计算资源使用费用,接着节点通过激励管理器根据任务复杂度以及即将提交到的数据量拆解任务,并将数据拆解为所有节点执行累积花费的费用小于本次支出的费用,最终将数据进一步拆解到每一个细分数据的执行时间都小于任务定义的最大时间,节点通过任务分配器将拆分后的数据依次填充到任务的输入参数列表中,再进一步将该任务转为区块链交易;
(2.2)节点连接:节点通过交易管理器为上述区块链交易打上签名,并通过任务分配器从本地任务分配列表中获取可以处理该任务的节点列表,如果本地没有该任务的节点列表则等待网络中有处理该交易的节点上线,如果本地有可以处理该任务的节点通过网络适配器则依次直接建立连接,再通过网络适配器判断可以处理该任务的节点是否可以直接连接,如果本地可以直接连接到这些节点,则立即定向发送该交易,如果本地无法建立直连,就通过网络适配器计算最佳达到路径,计算最佳到达路径成功后,发送到最佳路径到下一个节点,下一个节点接收到交易后依次发送到下一个节点,直到到达目标,如果无法计算最佳到达路径则等待网络中有处理该交易的节点上线,直到完成任务的分发,再重复以上步骤进行更多任务的分发;
(3)计算任务执行,具体包括如下步骤:
(3.1)任务信息获取:节点通过交易管理器接收待处理的任务,并将任务从区块链交易中提取出来,接着,节点通过任务分配器从区块链中获取该任务的定义信息;
(3.2)任务执行:节点通过激励管理器检查本次任务执行所需要的费用,并检查任务发起方手续费是否足额,手续费不足时节点通过任务分配器原路返回拒绝处理的消息,当足额时节点通过任务驱动器将该任务的数据以及任务定义中的任务代码放入任务虚拟机中,任务虚拟机循环将任务数据传入任务代码进行执行,激励管理器控制虚拟机执行完毕代码,或者执行到最大时间时结束执行,接着,任务虚拟机通过任务驱动器获取代码的执行结果,并将任务每一条的执行结果全部收集完毕,节点通过激励管理器将发起方账户下账,本节点账户上账,完成手续费收取,接着,任务虚拟机通过任务驱动器将任务执行的全部结果递交给交易管理器,交易管理器根据任务递交说明,原路返回执行结果,并将任务的执行结果填充入交易的结果栏并打上签名,接着,区块链通过区块锻造器将交易打入区块,节点通过区块锻造器广播区块,并最终完成任务的执行。
2.如权利要求1所述基于区块链的分布式计算的方法,其特征在于所述步骤(1.1)中任务定义信息包含任务名称、任务简介、执行代码、输入参数列表、返回数据类型、测试输入数据、单元检查成功标志、最大执行深度、最大执行时间、每执行一步所需要消耗的资产等。
3.如权利要求1所述基于区块链的分布式计算的方法,其特征在于所述步骤(1.2)中节点资源利用率特定数值为80%。
4.如权利要求1至3任一所述基于区块链的分布式计算的方法,其特征在于所述步骤(3.2)中交易管理器将任务的执行结果填充入交易的结果栏并打上签名时,根据隐私要求填充结果进行加密。
5.一种基于区块链的分布式计算的系统,包括计算任务定义模块、计算任务分发模块与计算任务执行模块,计算任务定义模块又进一步分为任务信息录入子模块与可处理任务类型登记子模块,计算任务分发模块又进一步分为数据拆解子模块与节点连接子模块,计算任务执行模块又进一步分为任务信息获取子模块与任务执行子模块,
其中:任务信息录入子模块的工作流程为:通过资源分配器填写任务定义信息,并将任务定义信息转为区块链交易,通过交易管理器将区块链交易提交到区块链上,区块链通过区块锻造器将交易打入区块,接着各节点通过区块同步器同步区块;
可处理任务类型登记子模块的工作流程为:各节点通过交易管理器解析获取到的交易,再通过任务驱动器提取任务定义中的测试输入数据,接着任务驱动器将测试输入数据以及执行代码放入任务虚拟机执行,并检查任务虚拟机执行结果是否与单元检查成功标志匹配,再通过任务分配器计算节点资源的利用率,当匹配且节点资源利用率小于特定数值时,表明节点可以处理该任务,其它节点接收到广播时,通过任务分配器记录下该节点位置以及可以处理的任务类型,节点完成任务可处理类型的登记,并完成计算任务的定义,重复以上步骤定义更多计算任务;
数据拆解子模块的工作流程为:通过任务分配器从区块链查询可用任务列表,并选中一个任务获取任务定义信息,通过激励管理器为任务分配一定的数字资产作为计算资源使用费用,接着节点通过激励管理器根据任务复杂度以及即将提交到的数据量拆解任务,并将数据拆解为所有节点执行累积花费的费用小于本次支出的费用,最终将数据进一步拆解到每一个细分数据的执行时间都小于任务定义的最大时间,节点通过任务分配器将拆分后的数据依次填充到任务的输入参数列表中,再进一步将该任务转为区块链交易;
节点连接子模块的工作流程为:节点通过交易管理器为上述区块链交易打上签名,并通过任务分配器从本地任务分配列表中获取可以处理该任务的节点列表,如果本地没有该任务的节点列表则等待网络中有处理该交易的节点上线,如果本地有可以处理该任务的节点通过网络适配器则依次直接建立连接,再通过网络适配器判断可以处理该任务的节点是否可以直接连接,如果本地可以直接连接到这些节点,则立即定向发送该交易,如果本地无法建立直连,就通过网络适配器计算最佳达到路径,计算最佳到达路径成功后,发送到最佳路径到下一个节点,下一个节点接收到交易后依次发送到下一个节点,直到到达目标,如果无法计算最佳到达路径则等待网络中有处理该交易的节点上线,直到完成任务的分发,再重复以上步骤进行更多任务的分发;
任务信息获取子模块的工作流程为:节点通过交易管理器接收待处理的任务,并将任务从区块链交易中提取出来,接着,节点通过任务分配器从区块链中获取该任务的定义信息;
任务执行子模块的工作流程为:节点通过激励管理器检查本次任务执行所需要的费用,并检查任务发起方手续费是否足额,手续费不足时节点通过任务分配器原路返回拒绝处理的消息,当足额时节点通过任务驱动器将该任务的数据以及任务定义中的任务代码放入任务虚拟机中,任务虚拟机循环将任务数据传入任务代码进行执行,激励管理器控制虚拟机执行完毕代码,或者执行到最大时间时结束执行,接着,任务虚拟机通过任务驱动器获取代码的执行结果,并将任务每一条的执行结果全部收集完毕,节点通过激励管理器将发起方账户下账,本节点账户上账,完成手续费收取,接着,任务虚拟机通过任务驱动器将任务执行的全部结果递交给交易管理器,交易管理器根据任务递交说明,原路返回执行结果,并将任务的执行结果填充入交易的结果栏并打上签名,接着,区块链通过区块锻造器将交易打入区块,节点通过区块锻造器广播区块,并最终完成任务的执行。
6.如权利要求5所述基于区块链的分布式计算的系统,其特征在于所述任务信息录入子模块中任务定义信息包含任务名称、任务简介、执行代码、输入参数列表、返回数据类型、测试输入数据、单元检查成功标志、最大执行深度、最大执行时间、每执行一步所需要消耗的资产等。
7.如权利要求5所述基于区块链的分布式计算的系统,其特征在于所述可处理任务类型登记子模块中节点资源利用率特定数值为80%。
8.如权利要求5至7任一所述基于区块链的分布式计算的系统,其特征在于所述任务执行子模块中交易管理器将任务的执行结果填充入交易的结果栏并打上签名时,根据隐私要求填充结果进行加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810686921.6A CN110659110B (zh) | 2018-06-28 | 2018-06-28 | 一种基于区块链分布式计算的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810686921.6A CN110659110B (zh) | 2018-06-28 | 2018-06-28 | 一种基于区块链分布式计算的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659110A CN110659110A (zh) | 2020-01-07 |
CN110659110B true CN110659110B (zh) | 2021-12-03 |
Family
ID=69026541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810686921.6A Active CN110659110B (zh) | 2018-06-28 | 2018-06-28 | 一种基于区块链分布式计算的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659110B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379417A (zh) * | 2020-03-10 | 2021-09-10 | 本无链科技(深圳)有限公司 | 一种基于区块链的地计算系统及方法 |
CN111539693B (zh) * | 2020-04-29 | 2023-10-13 | 重庆忽米网络科技有限公司 | 一种基于区块链的数据防篡改考核方法 |
WO2022027224A1 (zh) * | 2020-08-04 | 2022-02-10 | 北京大学深圳研究生院 | 一种面向网内算力或资源服务的通信方法 |
CN113434269A (zh) * | 2021-06-10 | 2021-09-24 | 湖南天河国云科技有限公司 | 基于区块链的分布式隐私计算方法及装置 |
CN113570369B (zh) * | 2021-07-29 | 2024-05-28 | 成都质数斯达克科技有限公司 | 一种区块链隐私交易方法、装置、设备及可读存储介质 |
CN116757455A (zh) * | 2023-08-21 | 2023-09-15 | 深圳开思时代科技有限公司 | 基于物联网的汽配交易管理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719126A (zh) * | 2016-01-22 | 2016-06-29 | 上海晶赞科技发展有限公司 | 一种基于生命周期模型的互联网大数据任务调度的系统及方法 |
CN107688500A (zh) * | 2017-07-26 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种分布式任务处理方法、装置、系统及设备 |
AU2018100270A4 (en) * | 2018-02-28 | 2018-04-05 | Bloxian International Pty Ltd | Systems and methods for providing training on Blockchain Technology through Gamification |
WO2018078584A1 (en) * | 2016-10-28 | 2018-05-03 | nChain Holdings Limited | Systems and methods for implementing deterministic finite automata (dfas) via a blockchain |
-
2018
- 2018-06-28 CN CN201810686921.6A patent/CN110659110B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719126A (zh) * | 2016-01-22 | 2016-06-29 | 上海晶赞科技发展有限公司 | 一种基于生命周期模型的互联网大数据任务调度的系统及方法 |
WO2018078584A1 (en) * | 2016-10-28 | 2018-05-03 | nChain Holdings Limited | Systems and methods for implementing deterministic finite automata (dfas) via a blockchain |
CN107688500A (zh) * | 2017-07-26 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种分布式任务处理方法、装置、系统及设备 |
AU2018100270A4 (en) * | 2018-02-28 | 2018-04-05 | Bloxian International Pty Ltd | Systems and methods for providing training on Blockchain Technology through Gamification |
Non-Patent Citations (2)
Title |
---|
Internet of Smart Things - IoST: Using Blockchain and CLIPS to Make Things Autonomous;Mayra Samaniego等;《2017 IEEE International Conference on Cognitive Computing (ICCC)》;20170911;9-16 * |
区块链与可信数据管理:问题与方法;钱卫宁等;《软件学报》;20171204;第29卷(第1期);150-159 * |
Also Published As
Publication number | Publication date |
---|---|
CN110659110A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659110B (zh) | 一种基于区块链分布式计算的方法及系统 | |
CN107493310B (zh) | 一种云资源处理方法及云管理平台 | |
CN106453146B (zh) | 私有云计算资源的分配方法、系统、设备和可读存储介质 | |
CN103544064A (zh) | 云计算方法、云管理平台和客户端 | |
CN109859043B (zh) | 一种交易清算方法和交易清算系统 | |
CN104240037A (zh) | 一种远程评标系统与方法 | |
CN111428458A (zh) | 通用报表生成方法、装置及计算机可读存储介质 | |
CN108681963A (zh) | 多区块链整合控制方法、系统、电子装置及存储介质 | |
CN111340397A (zh) | 房地产渠道客户的智能分配方法、服务器及存储介质 | |
CN112465615A (zh) | 账单数据的处理方法、装置及系统 | |
CN108765142A (zh) | 电子装置、多区块链整合控制方法和计算机可读存储介质 | |
CN107508687A (zh) | 一种计费的方法、装置、物联网应用平台及计费服务器 | |
CN108073699B (zh) | 大数据聚合分析方法及装置 | |
CN109242240A (zh) | 基于单位时间分配和时效控制的任务开发云平台 | |
CN109740850A (zh) | 快速交付的工业设计工作管理方法、平台及系统 | |
WO2023116790A1 (zh) | 计算任务的执行方法、装置、存储介质及电子装置 | |
CN106327273A (zh) | 一种基于sts的预付费售电系统和方法 | |
CN104601338A (zh) | 系统的计费方法和装置 | |
CN111669466A (zh) | 智能外呼系统配置方法、装置及计算机可读存储介质 | |
CN109102265B (zh) | 一种基于区块链的数据处理方法及装置 | |
CN105787791B (zh) | 业务请求处理方法及装置 | |
CN113630451B (zh) | 一种基于区块链、spark的计算服务系统 | |
CN113313566A (zh) | 内部结算方法、装置、存储介质和电子设备 | |
CN116402366A (zh) | 基于联合学习的数据贡献评价方法及装置 | |
CN114169895A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210325 Address after: Room 2201, 703c, Desai science and technology building, 9789 Shennan Avenue, high tech Zone community, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000 Applicant after: Benchainless Technology (Shenzhen) Co.,Ltd. Address before: 361000 unit 11, 201, building B, 86 Haijing Road, Xiamen area, China (Fujian) pilot Free Trade Zone, Xiamen City, Fujian Province Applicant before: XIAMEN INSTINCT BLOCKCHAIN TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |