会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 资料储存系统 / 工作量证明 / 一种资源贡献量证明方法、装置及系统

一种资源贡献量证明方法、装置及系统

阅读:720发布:2020-07-26

IPRDB可以提供一种资源贡献量证明方法、装置及系统专利检索,专利查询,专利分析的服务。并且本发明公开了一种资源贡献量证明方法、装置及系统,包括:发布分布式计算任务,分布式计算任务包括多个用于计算节点完成的子计算任务;向区块链中写入子计算任务被完成所对应的资源索取记录,使得奖励节点根据从区块链中获取的资源索取记录和子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,资源贡献记录由计算节点写入区块链中。本发明解决了对计算节点的工作量证明作弊的问题。,下面是一种资源贡献量证明方法、装置及系统专利的具体信息内容。

1.一种资源贡献量证明方法,应用于发布节点,其特征在于,所述方法包括:发布分布式计算任务,所述分布式计算任务包括多个用于计算节点完成的子计算任务;

向区块链中写入所述子计算任务被完成所对应的资源索取记录,使得奖励节点根据从所述区块链中获取的所述资源索取记录和所述子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,所述资源贡献记录由所述计算节点写入所述区块链中。

2.如权利要求1所述的资源贡献量证明方法,其特征在于,所述发布分布式计算任务,包括:向所述区块链中写入所述分布式计算任务,或者

向所述区块链上的计算节点分发所述分布式计算任务。

3.一种资源贡献量证明方法,应用于计算节点,其特征在于,所述方法包括:接收并完成子计算任务,所述子计算任务属于发布节点所发布的分布式子计算任务;

向区块链中写入所述子计算任务被完成所对应的资源贡献记录,使得奖励节点根据从所述区块链中获取的所述资源贡献记录和所述子计算任务被完成所对应的资源索取记录确定所述计算节点的资源贡献量,其中,所述资源索取记录由所述发布节点写入在所述区块链中。

4.一种资源贡献量证明方法,应用于奖励节点,其特征在于,所述方法包括:从区块链中获取子计算任务被完成所对应的资源贡献记录,所述资源贡献记录为完成所述子计算任务的计算节点写入在所述区块链中,所述子计算任务属于发布节点所发布的分布式子计算任务;

从所述区块链中获取所述子计算任务被完成所对应的资源索取记录,所述资源索取记录为所述发布节点针对所述子计算任务被完成的事件写入在所述区块链中;

根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。

5.一种资源贡献量证明装置,应用于发布节点,其特征在于,所述装置包括:发布单元,用于发布分布式计算任务,所述分布式计算任务包括多个用于计算节点完成的子计算任务;

记录写入单元,用于向区块链中写入所述子计算任务被完成所对应的资源索取记录,使得奖励节点根据从所述区块链中获取的所述资源索取记录和所述子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,所述资源贡献记录由所述计算节点写入所述区块链中。

6.一种资源贡献量证明装置,应用于计算节点,其特征在于,所述装置包括:接收单元,用于接收并完成子计算任务,所述子计算任务属于发布节点所发布的分布式子计算任务;

记录写入单元,用于向区块链中写入所述子计算任务被完成所对应的资源贡献记录,使得奖励节点根据从所述区块链中获取的所述资源贡献记录和所述子计算任务被完成所对应的资源索取记录确定所述计算节点的资源贡献量,其中,所述资源索取记录由所述发布节点写入在所述区块链中。

7.一种资源贡献量证明装置,应用于奖励节点,其特征在于,所述装置包括:第一获取单元,用于从区块链中获取子计算任务被完成所对应的资源贡献记录,所述资源贡献记录为完成所述子计算任务的计算节点写入在所述区块链中,所述子计算任务属于发布节点所发布的分布式子计算任务;

第二获取单元,用于从所述区块链中获取所述子计算任务被完成所对应的资源索取记录,所述资源索取记录为所述发布节点针对所述子计算任务被完成的事件写入在所述区块链中;

贡献量确定单元,用于根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。

8.一种资源贡献量证明系统,其特征在于,包括:

发布节点,用于发布分布式计算任务,所述分布式计算任务包括多个子计算任务,还用于向区块链中写入所述子计算任务被完成所对应的资源索取记录;

计算节点,用于接收并完成所述子计算任务,以及向所述区块链中写入所述子计算任务被完成所对应的资源贡献记录;

奖励节点,用于从所述区块链中获取所述资源贡献记录和所述资源索取记录,根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-2中任一项所述的步骤,或者实现权利要求3所述的步骤,或者实现权利要求4所述的步骤。

10.一种资源贡献量证明设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-2中任一项所述的步骤,或者实现权利要求3所述的步骤,或者实现权利要求4所述的步骤。

说明书全文

一种资源贡献量证明方法、装置及系统

技术领域

[0001] 本发明涉及区块链技术领域,尤其涉及一种资源贡献量证明方法、装置及系统。

背景技术

[0002] 共享计算、区块链是当下的热点和引领未来的趋势,而区块链+共享计算双核模式则让我们看到打破云计算同质化藩篱和解决区块链不可控痛点的未来可能性。区块链分公有链、联盟链、私有链。而共享计算是以共享模式和区块链技术收集海量的计算资源,将节点资源整合,开放给广大互联网企业,实现更高性价比,更易扩展,更环保的计算方式。在共享计算中,计算节点将计算、存储、带宽资源等闲置资源分享出去,用于创造价值,即可获得对应的奖励。而验证计算节点所贡献的工作量是其中非常重要的环节。
[0003] 在现有技术中,为了验证计算节点利用闲置资源完成任务所贡献的工作量,通过奖励方自身的大数据系统中的数据判断,而大数据系统中的数据是根据发布任务的节点所上报的数据计算出来的,而没有其他节点参与,因此,会存在对计算节点的工作量证明作弊的问题。

发明内容

[0004] 本发明实施例通过提供一种资源贡献量证明方法、装置及系统,解决了现有技术中对计算节点的工作量证明存在作弊的技术问题。
[0005] 第一方面,本发明实施例提供一种资源贡献量证明方法,应用于发布节点,所述方法包括:
[0006] 发布分布式计算任务,所述分布式计算任务包括多个用于计算节点完成的子计算任务;
[0007] 向区块链中写入所述子计算任务被完成所对应的资源索取记录,使得奖励节点根据从所述区块链中获取的所述资源索取记录和所述子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,所述资源贡献记录由所述计算节点写入所述区块链中。
[0008] 可选的,所述发布分布式计算任务,包括:
[0009] 向所述区块链中写入所述分布式计算任务,或者
[0010] 向所述区块链上的计算节点分发所述分布式计算任务。
[0011] 可选的,所述向所述区块链上的计算节点分发所述分布式计算任务,包括:
[0012] 向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点满足所述预设对应条件的所述子计算任务;或者[0013] 向所述区块链上的每个计算节点广播所述分布式计算任务,使得所述计算节点随机获得所述子计算任务。
[0014] 可选的,所述向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点之间满足所述预设对应条件的所述子计算任务,包括:
[0015] 获得所述计算节点上报的所述计算节点的节点标识;
[0016] 确定与该计算节点的节点标识对应的子计算任务;
[0017] 向所述计算节点下发与所述计算节点的节点标识对应的子计算任务。
[0018] 可选的,所述分布式计算任务,具体为:
[0019] 包括多个流量型任务的分布式流量任务,或者
[0020] 包括多个共享IP型任务的分布式IP共享任务。
[0021] 可选的,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0022] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0023] 可选的,所述向区块链中写入所述子计算任务被完成所对应的资源索取记录,包括:
[0024] 在所述计算节点完成所述子计算任务时,向所述区块链中写入所述子计算任务被完成所对应的资源索取记录,或者
[0025] 在预设时间段内向所述区块链中写入所述子计算任务被完成所对应的资源索取记录。
[0026] 第二方面,本发明实施例提供一种资源贡献量证明方法,应用于计算节点,所述方法包括:
[0027] 接收并完成子计算任务,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0028] 向区块链中写入所述子计算任务被完成所对应的资源贡献记录,使得奖励节点根据从所述区块链中获取的所述资源贡献记录和所述子计算任务被完成所对应的资源索取记录确定所述计算节点的资源贡献量,其中,所述资源索取记录由所述发布节点写入在所述区块链中。
[0029] 可选的,在所述向区块链中写入所述子计算任务被完成所对应的资源贡献记录之后,还包括:
[0030] 从所述奖励节点接收对应所述资源贡献量的奖励内容。
[0031] 可选的,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0032] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0033] 可选的,所述接收并完成子计算任务,包括:
[0034] 从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务。
[0035] 可选的,从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务,包括:
[0036] 上报所述计算节点的节点标识至所述区块链中或所述发布节点;
[0037] 从所述区块链中或所述发布节点获取与所述计算节点的节点标识对应的子计算任务。
[0038] 第三方面,本发明实施例提供一种资源贡献量证明方法,应用于奖励节点,所述方法包括:
[0039] 从区块链中获取子计算任务被完成所对应的资源贡献记录,所述资源贡献记录为完成所述子计算任务的计算节点写入在所述区块链中,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0040] 从所述区块链中获取所述子计算任务被完成所对应的资源索取记录,所述资源索取记录为所述发布节点针对所述子计算任务被完成的事件写入在所述区块链中;
[0041] 根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。
[0042] 可选的,在所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量之后,还包括:
[0043] 将所述计算节点的资源贡献量记录在所述区块链中。
[0044] 可选的,在所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量之后,还包括:
[0045] 根据所述计算节点的资源贡献量确定所述计算节点的奖励内容;
[0046] 向所述计算节点下发所述奖励内容。
[0047] 可选的,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0048] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0049] 可选的,所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量,包括:
[0050] 将所述资源索取记录中资源索取量与所述资源贡献记录中资源贡献量进行对账处理,获得对账结果;
[0051] 根据所述对账结果确定所述计算节点的贡献资源量。
[0052] 第四方面,本发明实施例提供一种资源贡献量证明装置,应用于发布节点,所述装置包括:
[0053] 发布单元,用于发布分布式计算任务,所述分布式计算任务包括多个用于计算节点完成的子计算任务;
[0054] 记录写入单元,用于向区块链中写入所述子计算任务被完成所对应的资源索取记录,使得奖励节点根据从所述区块链中获取的所述资源索取记录和所述子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,所述资源贡献记录由所述计算节点写入所述区块链中。
[0055] 可选的,所述发布单元,具体用于:
[0056] 向所述区块链中写入所述分布式计算任务,或者
[0057] 向所述区块链上的计算节点分发所述分布式计算任务。
[0058] 可选的,所述发布单元,具体用于:
[0059] 向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点满足所述预设对应条件的所述子计算任务;或者[0060] 向所述区块链上的每个计算节点广播所述分布式计算任务,使得所述计算节点随机获得所述子计算任务。
[0061] 可选的,所述发布单元,具体用于:
[0062] 获得所述计算节点上报的所述计算节点的节点标识;
[0063] 确定与该计算节点的节点标识对应的子计算任务;
[0064] 向所述计算节点下发与所述计算节点的节点标识对应的子计算任务。
[0065] 可选的,所述分布式计算任务,具体为:
[0066] 包括多个流量型任务的分布式流量任务,或者
[0067] 包括多个共享IP型任务的分布式IP共享任务。
[0068] 可选的,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0069] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0070] 可选的,所记录写入单元,具体用于:
[0071] 在所述计算节点完成所述子计算任务时,向所述区块链中写入所述子计算任务被完成所对应的资源索取记录,或者
[0072] 在预设时间段内向所述区块链中写入所述子计算任务被完成所对应的资源索取记录。
[0073] 第五方面,本发明实施例提供一种资源贡献量证明装置,应用于计算节点,所述装置包括:
[0074] 接收单元,用于接收并完成子计算任务,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0075] 记录写入单元,用于向区块链中写入所述子计算任务被完成所对应的资源贡献记录,使得奖励节点根据从所述区块链中获取的所述资源贡献记录和所述子计算任务被完成所对应的资源索取记录确定所述计算节点的资源贡献量,其中,所述资源索取记录由所述发布节点写入在所述区块链中。
[0076] 可选的,所述装置还包括:
[0077] 从所述奖励节点接收对应所述资源贡献量的奖励内容。
[0078] 可选的,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0079] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0080] 可选的,所述接收单元,具体用于:
[0081] 从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务。
[0082] 可选的,所述接收单元,具体用于:
[0083] 上报所述计算节点的节点标识至所述区块链中或所述发布节点;
[0084] 从所述区块链中或所述发布节点获取与所述计算节点的节点标识对应的子计算任务。
[0085] 第六方面,本发明实施例提供一种资源贡献量证明装置,应用于奖励节点,所述装置包括:
[0086] 第一获取单元,用于从区块链中获取子计算任务被完成所对应的资源贡献记录,所述资源贡献记录为完成所述子计算任务的计算节点写入在所述区块链中,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0087] 第二获取单元,用于从所述区块链中获取所述子计算任务被完成所对应的资源索取记录,所述资源索取记录为所述发布节点针对所述子计算任务被完成的事件写入在所述区块链中;
[0088] 贡献量确定单元,用于根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。
[0089] 可选的,所述装置还包括:
[0090] 记录写入单元,用于将所述计算节点的资源贡献量记录在所述区块链中。
[0091] 可选的,所述装置还包括:
[0092] 奖励确定单元,用于根据所述计算节点的资源贡献量确定所述计算节点的奖励内容;
[0093] 奖励下发单元,用于向所述计算节点下发所述奖励内容。
[0094] 可选的,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0095] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0096] 可选的,所述贡献量确定单元,包括:
[0097] 对账子单元,用于将所述资源索取记录中资源索取量与所述资源贡献记录中资源贡献量进行对账处理,获得对账结果;
[0098] 结果确定子单元,用于根据所述对账结果确定所述计算节点的贡献资源量。
[0099] 第七方面,本发明实施例提供一种资源贡献量证明系统,包括:
[0100] 发布节点,用于发布分布式计算任务,所述分布式计算任务包括多个子计算任务,还用于向区块链中写入所述子计算任务被完成所对应的资源索取记录;
[0101] 计算节点,用于接收并完成所述子计算任务,以及向所述区块链中写入所述子计算任务被完成所对应的资源贡献记录;
[0102] 奖励节点,用于从所述区块链中获取所述资源贡献记录和所述资源索取记录,根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。
[0103] 第八方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一实施方式所述的步骤,或者实现第二方面任一实施方式所述的步骤,或者实现第三方面任一实施方式所述的步骤。
[0104] 第九方面,本发明实施例提供一种资源贡献量证明设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中任一实施方式所述的步骤,或者实现第二方面中任一实施方式所述的步骤,或者实现第三方面中任一实施方式所述的步骤。
[0105] 本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0106] 由发布节点发布包括多个子计算任务的分布式计算任务,计算节点接收并完成分布式计算任务中的子计算任务,发布节点向区块链中写入子计算任务被完成所对应的资源索取记录;计算节点向区块链中写入子计算任务被完成所对应的资源贡献记录;奖励节点从区块链中获取计算节点写入在区块链中的资源贡献记录和发布节点写入在区块链中的资源索取记录,并根据获取的资源索取记录和资源贡献记录确定计算节点的资源贡献量。因此,对计算节点的资源贡献量是基于发布任务的发布节点与完成任务的计算节点各自写入在区块链上的记录进行双向对账来确定的,而不是基于发布节点或者计算节点单方面的记录来确定的,因此能够避免对计算节点的资源贡献量证明的作弊,从而提高了区块链上计算节点工作量证明的真实性、准确性。

附图说明

[0107] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0108] 图1为本发明实施例提供的资源贡献量证明系统的架构示意图;
[0109] 图2为本发明实施例提供的资源贡献量证明系统进行资源贡献量证明的方法流程图;
[0110] 图3为本发明实施例提供的区块链中任务处理方法的流程图;
[0111] 图4为本发明实施例提供的资源贡献量证明设备的结构示意图;
[0112] 图5为本发明实施例提供的计算机可读存储介质的结构示意图。

具体实施方式

[0113] 鉴于现有技术中对计算节点的工作量证明存在作弊的技术问题,本发明实施例提供一种资源贡献量证明方法、装置及系统,总体思路如下:
[0114] 发布节点发布包括多个用于计算节点完成的子计算任务的分布式计算任务,还向区块链中写入子计算任务被完成所对应的资源索取记录;计算节点接收并完成分布式计算任务中的子计算任务,以及向区块链中写入子计算任务被完成所对应的资源贡献记录;奖励节点从区块链中获取计算节点写入在区块链中的资源贡献记录和发布节点写入在区块链中的资源索取记录,并根完成该子计算任务的计算节点的资源贡献量。因此,对计算节点的资源贡献量是基于发布任务的发布节点与完成计算任务的计算节点各自写入在区块链上的记录进行双向对账来确定的,而不是基于单方面的记录来确定的,因此能够避免对计算节点的资源贡献量证明的作弊,从而提高了区块链上计算节点工作量证明的真实性和准确性。
[0115] 本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。
[0116] 图1为本发明实施例提供的一种资源贡献量证明系统的架构示意图,包括:发布节点101、奖励节点102和多个计算节点103,发布节点101、奖励节点102和各个计算节点103均在区块链上,形成了区块链网络。
[0117] 具体的,发布节点为区块链网络中的可信节点,不是用户节点。由发布节点发布分布式计算任务。分布式计算任务可以被拆分为多个可以不同的计算节点上执行的子计算任务。由计算节点通过各自的闲置资源完成发布节点10发布的分布式计算任务中的子计算任务。区块链上的计算节点具体可以为用户节点,比如,用户电脑,用户手机、路由设备等等。
[0118] 图2为本发明实施例提供的资源贡献量证明系统进行资源贡献量证明的流程图,结合图2所示,该流程包括如下步骤:
[0119] 首先,执行步骤S201、发布节点发布分布式计算任务,分布式计算任务包括多个用于计算节点完成的子计算任务。
[0120] 具体的,分布式计算任务可以为如下一种类型:
[0121] 类型一:多个子流量型任务的分布式流量型任务。举例来讲,分布式流量型任务具体为:流量型的CDN(Content Delivery Network,内容分发网络)任务,用于加速对动静态网页内容、流媒体直播、点播,大文件的上传、下载实现加速。流量型的CDN具体可以为:从多个URL抓取网页、对多个网站进行安全扫描等等。
[0122] 类型二、包括多个共享IP(Internet Protocol Address,网际协议地址)任务的分布式IP共享任务。
[0123] 发布节点发布分布式计算任务,可以有多种方式,下面进行分别说明:
[0124] 实施方式一:发布节点向区块链中写入分布式计算任务。
[0125] 具体来讲,需要获取子计算任务的计算节点向区块链中上报该计算节点的节点标识,则上报自身的节点标识的计算节点从区块链中获取发布节点所发布的分布计算任务中的子计算任务。
[0126] 需要说明的是,计算节点的节点标识至少包括该计算节点的唯一ID,还可以包括该计算节点的IP地域。每个计算节点具有唯一ID。
[0127] 具体的,可以是:需要获取子计算任务的计算节点向区块链中写入自身的唯一ID,从而能够区分用于完成子计算任务的各个计算节点,计算节点根据计算节点的唯一ID从区块链中随机获取子计算任务,从而,区块链上其他节点能够知晓哪些计算节点可以接受子计算任务。
[0128] 通过这种方式,每个上报唯一ID的计算节点具有同等的机会从区块链上获取子计算任务。
[0129] 具体的,也可以是:需要获取子计算任务的计算节点向区块链中写入该计算节点的自身的唯一ID和IP地域,从而能够区分用于完成子计算任务的各个计算节点,并且区分各个计算节点所在的地域。根据计算节点的唯一ID和IP地域,从区块链中获取计算节点的IP地域与子计算任务的地域相同的子计算任务,从而区块链上其他节点能够知晓哪些计算节点可以接受哪些地域的子计算任务。
[0130] 以流量型的CDN任务为例:从多个URL抓取网页,计算节点需要获取从其中一个URL抓取网页的子计算任务,计算节点从URL中获取IP地址,并根据上报到区块链中的计算节点IP地域与该URL的IP地址进行对比,如果URL的IP地址属于计算节点的IP地域,则从区块链中获取该URL抓取网页的任务。
[0131] 举例来讲,分布式计算任务具体为:从N个URL抓取页面,一个URL为m1的IP地址所在地域为A,IP地域为A的计算节点从区块链中获取从该m1抓取页面的任务;另一个URL为m2的IP地址所在地域为B,IP地域为B的计算节点从区块链中获取从该m2抓取页面的任务。
[0132] 实施方式二:分布式计算任务不写入区块链,而是由发布节点向区块链上的计算节点分发分布式计算任务。
[0133] 在具体实施过程中,发布节点向区块链上的计算节点分发分布式计算任务,可以是由发布节点向区块链上的每个计算节点广播分布式计算任务,也可以是:由发布节点向区块链上的部分计算节点广播分布式计算任务。
[0134] 更具体来讲,由发布节点向区块链上的部分计算节点广播分布式计算任务,可以是:向区块链上满足预设对应条件的计算节点广播分布式计算任务,使得计算节点获得与计算节点满足预设对应条件的子计算任务。
[0135] 预设对应条件可以为:计算节点的节点标识与子计算任务对应。具体来讲,需要获取子计算任务的计算节点向发布节点上报计算节点的节点标识,发布节点根据来自计算节点的节点标识向计算节点下发子计算任务。
[0136] 计算节点的节点标识至少包括该计算节点的唯一ID,还可以包括计算节点的IP地域。
[0137] 具体的,可以是:需要获取子计算任务的发布节点上报该计算节点的唯一ID发布节点根据计算节点的唯一ID向区块链上的各个计算节点分发分布式计算任务的子计算任务。从而发布节点能够向上报唯一ID的计算节点随机分发子计算任务,每个上报唯一ID的计算节点具有同等的机会从发布节点获取子计算任务。
[0138] 具体的,也可以是:计算节点的节点标识至少包括该计算节点的唯一ID,和IP地域。需要获取子计算任务的发布节点上报该计算节点的唯一ID和IP地域,发布节点根据计算节点的唯一ID和计算节点的IP地域向区块链上的各个计算节点分发分布式计算任务的子计算任务。
[0139] 举例来讲,分布式计算任务具体为:从N个URL抓取页面,一个URL为m1的IP地址所在地域为A,发布节点向IP地域为A的计算节点下发从该m1抓取页面的任务;另一个URL为m2的IP地址所在地域为B,发布节点向IP地域为B的计算节点下发从该m2抓取页面的任务。
[0140] 预设对应条件还可以为:计算节点的可用资源与子计算任务所需资源对应。比如,计算节点的可用资源大于或等于子计算任务的所需资源。需要获取子计算任务的计算节点上报该计算节点的可用资源,发布节点将子计算任务分发给可用资源大于该子计算任务所需资源的计算节点。
[0141] 通过上述两种实施方式,发布节点均能够选择性的向计算节点分发子计算任务,从而提高对分布式计算任务的处理效率。
[0142] 在步骤S201之后,接着执行步骤S202:计算节点接收并完成子计算任务,子计算任务属于发布节点所发布的分布式子计算任务。
[0143] 具体的,计算节点从区块链中或者从发布节点上获取子计算任务,并完成所获取的子计算任务。需要说明的是,根据子计算任务的不同,则利用的计算节点的资源也不同。比如,可以利用计算节点的IP资源完成子计算任务,或者利用子计算节点的流量资源完成子计算任务。
[0144] 在计算节点完成子计算任务之后,执行步骤S203和步骤S204。需要说明的是,步骤S203和步骤S204之间可以为不分先后顺序的独立执行步骤,也可以为在计算节点步骤S203之后,接着,发布节点执行步骤S204。
[0145] 步骤S203:计算节点向区块链中写入子计算任务被完成所对应的资源贡献记录。
[0146] 具体来讲,计算节点完成所获取到的子计算任务之后,将计算节点完成所获取到的子计算任务的事件写入至区块链中,形成资源贡献记录。
[0147] 具体的,可以是在计算节点完成子计算任务时,计算节点向区块链中写入子计算任务被完成所对应的资源贡献记录。举例来讲,某个计算节点A完成发布节点所发布的一个分布式计算任务a中的子计算任务a1,在计算节点A完成子计算任务a1之后,计算节点A向区块链中写入完成子计算任务a1的资源贡献记录。
[0148] 具体的,也可以是:计算节点在预设时间段内向区块链中写入完成子计算任务的资源贡献记录。比如,可以每天向区块链中写入完成子计算任务的资源贡献记录,或者每周向区块链中写入完成子计算任务的资源贡献记录。
[0149] 具体的,资源贡献记录包括完成子计算任务的计算节点的签名信息和子计算任务被完成所对应的资源贡献量。资源贡献记录包括的签名信息用于识别写入该资源贡献记录的计算节点。
[0150] 需要说明的是,资源贡献记录中的资源贡献量,具体为:计算节点对计算节点自身完成子任务所耗费的资源量进行计算,计算结果确定为计算节点的资源贡献量,表征计算节点贡献了多少资源。
[0151] 需要说明的是,资源贡献量具体可以是流量资源贡献量、也可以是IP资源贡献量。
[0152] 步骤S204:发布节点向区块链中写入子计算任务被完成所对应的资源索取记录。
[0153] 在具体实施过程中,在分布式计算任务中的子计算任务被对应的计算节点完成,则发布节点针对该子计算任务被计算节点完成的事件写入至区块链中,形成资源索取记录。
[0154] 在计算节点完成子计算任务时,发布节点向区块链中写入子计算任务被完成所对应的资源索取记录,或者发布节点在预设时间段内向区块链中写入完成子计算任务的资源索取记录。
[0155] 具体的,资源索取记录包括发布分布式计算任务的发布节点的签名信息和发布分布式计算任务中子计算任务被完成所对应的资源索取量,其中,资源索取记录包括的签名信息用于识别写入该资源索取记录的发布节点。
[0156] 需要说明的是,资源索取记录中的资源索取量,具体为:发布节点自身对计算节点完成子任务所耗费的资源量进行计算,将计算结果确定为发布节点的资源索取量,表征该发布节点从计算节点索取了多少资源量。
[0157] 在步骤S203和步骤S204之后,执行步骤S205:奖励节点从区块链中获取资源贡献记录和资源索取记录。
[0158] 在具体实施过程中,可以按照预设时间间隔从区块链中获取资源贡献记录和资源索取记录。比如,可以每天进行一次从区块链中获取资源贡献记录和资源索取记录。也可以每周进行一次从区块链中获取资源贡献记录和资源索取记录。也可以实时从区块链中获取资源贡献记录和资源索取记录。每个资源贡献记录和每个资源索取记录均是针对同一个子计算任务而言的。
[0159] 在步骤S205之后,执行步骤S206:奖励节点根据资源索取记录和资源贡献记录确定计算节点的资源贡献量。
[0160] 在具体实施过程中,奖励节点可以将每个子计算任务的资源贡献记录与该子计算任务的资源索取记录进行对账处理,得到每个子计算任务的资源贡献量,进而可以得到每个计算节点预设时间间隔内的资源贡献量。
[0161] 比如,可以每天进行一次对账处理,对一天内完成个子计算任务的各个计算节点的资源贡献记录与发布节点的资源索取记录进行一一对应的对账处理。在具体实施过程中,可以是根据资源索取记录或资源贡献记录的写入顺序,将各个资源索取记录与对应的资源贡献记录进行一一对账处理,获得对账结果;根据对账结果确定计算节点的贡献资源量。
[0162] 具体来讲,也可以是实时从区块链获取当前所完成的子计算任务的资源贡献记录与资源索取记录,将完成当前子计算任务对应的资源贡献记录与资源索取记录进行对账处理,得到完成当前的子计算任务的资源贡献量。
[0163] 需要说明的是,资源贡献记录与资源索取记录之间进行对账处理,可以有多种实施方式,具体来讲:
[0164] 如果子计算任务具体为共享IP型任务,判断针对计算节点完成该IP共享任务的事件,是否存在资源贡献记录和资源索取记录,如果同时存在,则确定计算节点完成该IP共享任务,否则,确定计算节点未完成该IP共享任务,确定针对该IP共享任务的资源贡献量为零。
[0165] 如果子计算任务具体为流量型任务,资源贡献记录中包括流量贡献量,资源索取记录中包括流量索取量。如果同时存在资源贡献记录与资源索取记录。接着,判断资源贡献记录中流量贡献量与资源索取记录中流量索取量是否相同,如果相同,则将资源贡献记录中流量贡献量或者资源索取记录中流量索取量作为完成该子计算任务的资源贡献量。如果不同时存在资源贡献记录与资源索取记录,则针对该流量型任务的资源贡献量为零。
[0166] 在步骤S206之后,还可以包括步骤S207:发布节点根据计算节点的资源贡献量确定对计算节点的奖励内容;向计算节点下发奖励内容。
[0167] 具体的,可以是针对完成单个子计算任务的资源贡献量确定对计算节点的奖励内容。也可以是针对计算节点在预设时间段内完成的各个子计算任务的资源贡献量确定该计算节点的奖励内容。
[0168] 在具体实施过程中,奖励内容具体可以为积分或者虚拟物品,比如虚拟钻、虚拟币、虚拟宠物等等。
[0169] 在步骤S207之后,还可以包括步骤S208:计算节点从奖励节点接收对应资源贡献量的奖励内容。
[0170] 在步骤S207之后,还可以包括步骤S208’:将计算节点的资源贡献量记录在区块链中。从而,在区块链上的其他节点也知晓该计算节点获得了哪些奖励。
[0171] 实施例二
[0172] 基于同一发明构思,本实施例提供了一种区块链中的任务处理方法,应用于区块链系统中的计算节点,如图3所示,所述方法包括:
[0173] 步骤S301:接收发布节点发布的计算任务,发布节点属于区块链系统。
[0174] 在具体实施过程中,发布节点可以在区块链上发布计算任务,或者,直接向某一计算节点发布计算任务,该计算任务可以是一单独的计算任务,也可以是分布式计算任务。对应地,计算节点则可以从区块链上接收该计算任务或直接从发布节点接收该计算任务,该计算任务可以是一单独的计算任务,也可以是分布式计算任务中的子计算任务。
[0175] 在具体实施过程中,可以将区块链系统上的计算节点分为两类:一类是普通计算节点(其不提供通用化服务),另一类是超级计算节点(其可以提供通用化服务)。发布节点在发布计算任务时,可以先对计算任务进行分析,确定计算任务是否可以通过通用化服务完成,若可以,则将该计算任务发布给超级计算节点。其中,发布节点上可以存储有一列表,该列表中存储有每个超级计算节点的信息(例如:唯一ID、IP地址、空闲状态),从而可以基于该列表选择出超级计算节点。
[0176] 或者,发布节点可以在向区块链发布计算任务时,同时发布该计算任务的说明信息,说明信息用于说明该计算任务可以通过通用化服务来完成,这样,超级计算节点在发现某一计算任务携带有说明信息时,即可接受该计算任务。
[0177] 步骤S302:基于计算任务的类型,确定需要调用的通用化服务。
[0178] 作为一种可选的实施例,通用化服务,包括:
[0179] TCP(Transmission Control Protocol,传输控制协议)代理服务、UDP(User Datagram Protocol,用户数据报协议)代理服务、以及一对多转发服务。其中,一对多转发服务多应用于视频点播或视频直播场景,用于将相同的数据同时转发给多个用户终端(例如:将直播间中主播的视频直播数据转发给直播间中的每个观众)。
[0180] 作为一种可选的实施例,步骤S302,包括:
[0181] 在计算任务为网页抓取任务、或网站安全扫描任务、或投票任务时,确定需要提供的通用化服务为TCP代理服务;
[0182] 在计算任务为视频点播任务、或视频直播任务时,确定需要提供的通用化服务为UDP代理服务或一对多转发服务。
[0183] 在具体实施过程中,计算任务类型具体可以包括:网页抓取任务、网站安全扫描任务、投票任务、视频点播任务、视频直播任务、等等,针对不同的计算任务类型,则需要提供不同的通用化服务。
[0184] 举例来讲,在计算任务为网页抓取任务、或网站安全扫描任务、或投票任务时,可以通过调用TCP代理服务实现;在计算任务为视频点播任务、或视频直播任务时,可以通过调用UDP代理服务实现;或者,在计算任务为视频点播任务、或视频直播任务时,也可以通过调用一对多转发服务实现。
[0185] 在具体实施过程中,发布节点发布的计算任务时,同时还可以在该计算任务中携带该计算任务的类型信息,该类型信息用于表示该计算任务的类型,这样,计算节点在接收到该计算任务时,即可根据该类型信息快速确定计算任务类型。
[0186] 步骤S303:调用通用化服务,以完成计算任务。
[0187] 作为一种可选的实施例,步骤S303,包括:
[0188] 基于计算节点自身的IP资源和/或流量资源,调用通用化服务,以完成计算任务。
[0189] 在具体实施过程中,计算节点可以基于自身的IP资源和/或流量资源,调用通用化服务对应的代理服务器(例如:TCP代理服务器、或UDP代理服务器、或一对多转发代理服务器),以完成计算任务。
[0190] 作为一种可选的实施例,在步骤S303之后,还包括:
[0191] 向区块链中写入资源贡献记录,资源贡献记录用于表示计算节点已完成计算任务。其中,资源贡献记录中包含有计算节点的签名、以及计算任务的标识信息。
[0192] 具体的,可以是在计算节点完成计算任务时,计算节点向区块链中写入计算任务被完成所对应的资源贡献记录。举例来讲,某个计算节点A完成发布节点所发布的一个计算任务a之后,计算节点A即可向区块链中写入完成计算任务a的资源贡献记录。
[0193] 具体的,计算节点也可以是在预设时间段内向区块链中写入完成计算任务的资源贡献记录。比如,可以每天向区块链中写入完成计算任务的资源贡献录,或者每周向区块链中写入完成计算任务的资源贡献记录。
[0194] 具体的,资源贡献记录包括完成计算任务的计算节点的签名信息、计算任务的标识信息(例如:计算任务的名称、计算任务的ID)和计算任务被完成所对应的资源贡献量。资源贡献记录包括的签名信息用于识别写入该资源贡献记录的计算节点,该计算节点也就是完成计算任务的计算节点。
[0195] 需要说明的是,资源贡献量具体可以是流量资源贡献量、也可以是IP资源贡献量。
[0196] 作为一种可选的实施例,在所述向区块链中写入预设信息之后,还包括:
[0197] 接收奖励节点发来的奖励信息,奖励节点属于区块链系统,奖励信息与完成计算任务相关。计算节点可以根据该奖励信息领取奖励。
[0198] 在具体实施过程中,在计算节点向区块链中写入资源贡献记录的同时,发布节点也会向区块链中写入该计算任务被完成所对应的资源索取记录。具体的,资源索取记录包括发布节点的签名信息和发布的计算任务被完成所对应的资源索取量。
[0199] 在具体实施过程中,奖励节点可以从区块链中获取计算节点写入的资源贡献记录和发布节点写入的资源索取记录,并基于此确定计算节点的资源贡献量。
[0200] 具体的,奖励节点可以将每个计算任务的资源贡献记录与该计算任务的资源索取记录进行对账处理,得到每个计算任务的资源贡献量,进而可以得到预设时间间隔内,每个计算节点的资源贡献量。
[0201] 比如,奖励节点可以每天进行一次对账处理,对一天内完成计算任务的各个计算节点的资源贡献记录与发布节点的资源索取记录进行一一对应的对账处理。在具体实施过程中,奖励节点可以是根据资源贡献记录或资源索取记录的写入顺序,将资源索取记录与资源贡献记录之间进行对账处理,获得对账结果;根据对账结果确定计算节点的贡献资源量。或者,奖励节点也可以实时从区块链获取当前所完成计算任务的资源贡献记录与资源索取记录,将完成当前计算任务对应的资源贡献记录与资源索取记录进行对账处理,得到完成当前计算任务的计算节点的资源贡献量。
[0202] 在具体实施过程中,奖励节点可以根据计算节点的资源贡献量,确定对计算节点的奖励内容,向计算节点下发奖励内容。
[0203] 具体的,奖励节点可以是针对完成单个计算任务的资源贡献量确定对计算节点的奖励内容。也可以是针对计算节点在预设时间段内完成的各计算任务的资源贡献量确定该计算节点的奖励内容。其中,奖励内容具体可以为积分或者虚拟物品,比如虚拟钻、虚拟币、虚拟宠物等等。
[0204] 在具体实施过程中,计算节点从奖励节点接收对应资源贡献量的奖励内容,或者,奖励节点将计算节点的资源贡献量记录在区块链中。从而,在区块链上的其他节点也知晓该计算节点获得了哪些奖励,以此鼓励更多的计算节点积极参与到区块链中的计算任务中。
[0205] 本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
[0206] 在本发明实施例中,提供的了一种区块链中的任务处理方法,应用于区块链系统中的计算节点,所述方法包括:接收发布节点发布的计算任务,发布节点属于区块链系统;基于计算任务的类型,确定需要提供的通用化服务;调用通用化服务,以完成计算任务。由于计算节点可以根据计算任务的类型,提供通用化服务,故而提高了计算节点的运行效率,所以解决了现有技术中计算节点的运行效率较低,导致区块链系统的数据处理效率较低的技术问题,实现了提高计算节点的运行效率,提高区块链系统的数据处理效率,从而满足互联网的对于数据运算的高要求的技术效果。
[0207] 基于同一发明构思,本发明实施例提供一种资源贡献量证明方法,应用于发布节点,所述方法包括:
[0208] 步骤S401:发布分布式计算任务,所述分布式计算任务包括多个用于计算节点完成的子计算任务;
[0209] 步骤S402:向区块链中写入所述子计算任务被完成所对应的资源索取记录,使得奖励节点根据从所述区块链中获取的所述资源索取记录和所述子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,所述资源贡献记录由所述计算节点写入所述区块链中。
[0210] 在一可选的实施方式中,步骤S401包括:
[0211] 向所述区块链中写入所述分布式计算任务,或者
[0212] 向所述区块链上的计算节点分发所述分布式计算任务。
[0213] 在一可选的实施方式中,所述向所述区块链上的计算节点分发所述分布式计算任务,包括:
[0214] 向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点满足所述预设对应条件的所述子计算任务;或者[0215] 向所述区块链上的每个计算节点广播所述分布式计算任务,使得所述计算节点随机获得所述子计算任务。
[0216] 在一可选的实施方式中,所述向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点之间满足所述预设对应条件的所述子计算任务,包括:
[0217] 获得所述计算节点上报的所述计算节点的节点标识;
[0218] 确定与该计算节点的节点标识对应的子计算任务;
[0219] 向所述计算节点下发与所述计算节点的节点标识对应的子计算任务。
[0220] 在一可选的实施方式中,所述分布式计算任务,具体为:
[0221] 包括多个流量型任务的分布式流量任务,或者
[0222] 包括多个共享IP型任务的分布式IP共享任务。
[0223] 在一可选的实施方式中,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0224] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0225] 在一可选的实施方式中,所述向区块链中写入所述子计算任务被完成所对应的资源索取记录,包括:
[0226] 在所述计算节点完成所述子计算任务时,向所述区块链中写入所述子计算任务被完成所对应的资源索取记录,或者
[0227] 在预设时间段内向所述区块链中写入所述子计算任务被完成所对应的资源索取记录。
[0228] 基于同一发明构思,本发明实施例提供一种资源贡献量证明方法,应用于计算节点,所述方法包括:
[0229] 步骤S501:接收并完成子计算任务,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0230] 步骤S502:向区块链中写入所述子计算任务被完成所对应的资源贡献记录,使得奖励节点根据从所述区块链中获取的所述资源贡献记录和所述子计算任务被完成所对应的资源索取记录确定所述计算节点的资源贡献量,其中,所述资源索取记录由所述发布节点写入在所述区块链中。
[0231] 在一可选的实施方式中,在所述向区块链中写入所述子计算任务被完成所对应的资源贡献记录之后,还包括:
[0232] 从所述奖励节点接收对应所述资源贡献量的奖励内容。
[0233] 在一可选的实施方式中,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0234] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0235] 在一可选的实施方式中,所述接收并完成子计算任务,包括:
[0236] 从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务。
[0237] 在一可选的实施方式中,从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务,包括:
[0238] 上报所述计算节点的节点标识至所述区块链中或所述发布节点;
[0239] 从所述区块链中或所述发布节点获取与所述计算节点的节点标识对应的子计算任务。
[0240] 基于同一发明构思,本发明实施例提供一种资源贡献量证明方法,应用于奖励节点,所述方法包括:
[0241] 步骤S601:从区块链中获取子计算任务被完成所对应的资源贡献记录,所述资源贡献记录为完成所述子计算任务的计算节点写入在所述区块链中,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0242] 步骤S602:从所述区块链中获取所述子计算任务被完成所对应的资源索取记录,所述资源索取记录为所述发布节点针对所述子计算任务被完成的事件写入在所述区块链中;
[0243] 步骤S601:根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。
[0244] 在一可选的实施方式中,在所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量之后,还包括:
[0245] 将所述计算节点的资源贡献量记录在所述区块链中。
[0246] 在一可选的实施方式中,在所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量之后,还包括:
[0247] 根据所述计算节点的资源贡献量确定所述计算节点的奖励内容;
[0248] 向所述计算节点下发所述奖励内容。
[0249] 在一可选的实施方式中,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0250] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0251] 在一可选的实施方式中,所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量,包括:
[0252] 将所述资源索取记录中资源索取量与所述资源贡献记录中资源贡献量进行对账处理,获得对账结果;
[0253] 根据所述对账结果确定所述计算节点的贡献资源量。
[0254] 基于同一发明构思,本发明实施例提供一种资源贡献量证明装置,应用于发布节点,所述装置包括:
[0255] 发布单元,用于发布分布式计算任务,所述分布式计算任务包括多个用于计算节点完成的子计算任务;
[0256] 记录写入单元,用于向区块链中写入所述子计算任务被完成所对应的资源索取记录,使得奖励节点根据从所述区块链中获取的所述资源索取记录和所述子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,所述资源贡献记录由所述计算节点写入所述区块链中。
[0257] 在一可选的实施方式中,所述发布单元,具体用于:
[0258] 向所述区块链中写入所述分布式计算任务,或者
[0259] 向所述区块链上的计算节点分发所述分布式计算任务。
[0260] 可选的,所述发布单元,具体用于:
[0261] 向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点满足所述预设对应条件的所述子计算任务;或者[0262] 向所述区块链上的每个计算节点广播所述分布式计算任务,使得所述计算节点随机获得所述子计算任务。
[0263] 在一可选的实施方式中,所述发布单元,具体用于:
[0264] 获得所述计算节点上报的所述计算节点的节点标识;
[0265] 确定与该计算节点的节点标识对应的子计算任务;
[0266] 向所述计算节点下发与所述计算节点的节点标识对应的子计算任务。
[0267] 在一可选的实施方式中,所述分布式计算任务,具体为:
[0268] 包括多个流量型任务的分布式流量任务,或者
[0269] 包括多个共享IP型任务的分布式IP共享任务。
[0270] 在一可选的实施方式中,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0271] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0272] 在一可选的实施方式中,所记录写入单元,具体用于:
[0273] 在所述计算节点完成所述子计算任务时,向所述区块链中写入所述子计算任务被完成所对应的资源索取记录,或者
[0274] 在预设时间段内向所述区块链中写入所述子计算任务被完成所对应的资源索取记录。
[0275] 基于同一发明构思,本发明实施例提供一种资源贡献量证明装置,应用于计算节点,所述装置包括:
[0276] 接收单元,用于接收并完成子计算任务,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0277] 记录写入单元,用于向区块链中写入所述子计算任务被完成所对应的资源贡献记录,使得奖励节点根据从所述区块链中获取的所述资源贡献记录和所述子计算任务被完成所对应的资源索取记录确定所述计算节点的资源贡献量,其中,所述资源索取记录由所述发布节点写入在所述区块链中。
[0278] 在一可选的实施方式中,所述装置还包括:
[0279] 从所述奖励节点接收对应所述资源贡献量的奖励内容。
[0280] 在一可选的实施方式中,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0281] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0282] 在一可选的实施方式中,所述接收单元,具体用于:
[0283] 从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务。
[0284] 在一可选的实施方式中,所述接收单元,具体用于:
[0285] 上报所述计算节点的节点标识至所述区块链中或所述发布节点;
[0286] 从所述区块链中或所述发布节点获取与所述计算节点的节点标识对应的子计算任务。
[0287] 基于同一发明构思,本发明实施例提供一种资源贡献量证明装置,应用于奖励节点,所述装置包括:
[0288] 第一获取单元,用于从区块链中获取子计算任务被完成所对应的资源贡献记录,所述资源贡献记录为完成所述子计算任务的计算节点写入在所述区块链中,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0289] 第二获取单元,用于从所述区块链中获取所述子计算任务被完成所对应的资源索取记录,所述资源索取记录为所述发布节点针对所述子计算任务被完成的事件写入在所述区块链中;
[0290] 贡献量确定单元,用于根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。
[0291] 在一可选的实施方式中,所述装置还包括:
[0292] 记录写入单元,用于将所述计算节点的资源贡献量记录在所述区块链中。
[0293] 可选的,所述装置还包括:
[0294] 奖励确定单元,用于根据所述计算节点的资源贡献量确定所述计算节点的奖励内容;
[0295] 奖励下发单元,用于向所述计算节点下发所述奖励内容。
[0296] 在一可选的实施方式中,所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0297] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0298] 在一可选的实施方式中,所述贡献量确定单元,包括:
[0299] 对账子单元,用于将所述资源索取记录中资源索取量与所述资源贡献记录中资源贡献量进行对账处理,获得对账结果;
[0300] 结果确定子单元,用于根据所述对账结果确定所述计算节点的贡献资源量。
[0301] 基于同一发明构思,本实施例提供了一种资源贡献量证明设备,如图4所示,包括存储器410、处理器420及存储在存储器410上并可在处理器420上运行的计算机程序411,处理器420执行程序410时实现前述计算节点、或者发布节点、或者奖励节点侧的资源贡献量证明方法中任一实施方式所述的步骤。
[0302] 基于同一发明构思,本实施例提供了一种计算机可读存储介质,如图5所示,计算机可读存储介质上存储有计算机程序511,该程序被处理器511执行时实现前述计算节点、或者发布节点、或者奖励节点侧的资源贡献量证明方法中任一实施方式所述的步骤。
[0303] 本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0304] 由发布节点发布包括多个子计算任务的分布式计算任务,计算节点接收并完成分布式计算任务中的子计算任务,发布节点向区块链中写入子计算任务被完成所对应的资源索取记录;计算节点向区块链中写入子计算任务被完成所对应的资源贡献记录;奖励节点从区块链中获取计算节点写入在区块链中的资源贡献记录和发布节点写入在区块链中的资源索取记录,并根据获取的资源索取记录和资源贡献记录确定计算节点的资源贡献量。因此,对计算节点的资源贡献量是基于发布任务的发布节点与完成任务的计算节点各自写入在区块链上的记录进行双向对账来确定的,而不是基于发布节点或者计算节点单方面的记录来确定的,因此能够避免对计算节点的资源贡献量证明的作弊,从而提高了区块链上计算节点工作量证明的真实性、准确性。
[0305] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0306] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
[0307] 本发明公开了A1、一种资源贡献量证明方法,应用于发布节点,所述方法包括:
[0308] 发布分布式计算任务,所述分布式计算任务包括多个用于计算节点完成的子计算任务;
[0309] 向区块链中写入所述子计算任务被完成所对应的资源索取记录,使得奖励节点根据从所述区块链中获取的所述资源索取记录和所述子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,所述资源贡献记录由所述计算节点写入所述区块链中。
[0310] A2、如A1所述的资源贡献量证明方法,所述发布分布式计算任务,包括:
[0311] 向所述区块链中写入所述分布式计算任务,或者
[0312] 向所述区块链上的计算节点分发所述分布式计算任务。
[0313] A3、如A1或A2所述的资源贡献量证明方法,所述向所述区块链上的计算节点分发所述分布式计算任务,包括:
[0314] 向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点满足所述预设对应条件的所述子计算任务;或者[0315] 向所述区块链上的每个计算节点广播所述分布式计算任务,使得所述计算节点随机获得所述子计算任务。
[0316] A4、如A3所述的资源贡献量证明方法,所述向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点之间满足所述预设对应条件的所述子计算任务,包括:
[0317] 获得所述计算节点上报的所述计算节点的节点标识;
[0318] 确定与该计算节点的节点标识对应的子计算任务;
[0319] 向所述计算节点下发与所述计算节点的节点标识对应的子计算任务。
[0320] A5、如A1-A4中任一项所述的资源贡献量证明方法,所述分布式计算任务,具体为:
[0321] 包括多个流量型任务的分布式流量任务,或者
[0322] 包括多个共享IP型任务的分布式IP共享任务。
[0323] A6、如A1所述的资源贡献量证明方法,
[0324] 所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0325] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0326] A7、如A1所述的资源贡献量证明方法,所述向区块链中写入所述子计算任务被完成所对应的资源索取记录,包括:
[0327] 在所述计算节点完成所述子计算任务时,向所述区块链中写入所述子计算任务被完成所对应的资源索取记录,或者
[0328] 在预设时间段内向所述区块链中写入所述子计算任务被完成所对应的资源索取记录。
[0329] 本发明还公开了B8、一种资源贡献量证明方法,应用于计算节点,所述方法包括:
[0330] 接收并完成子计算任务,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0331] 向区块链中写入所述子计算任务被完成所对应的资源贡献记录,使得奖励节点根据从所述区块链中获取的所述资源贡献记录和所述子计算任务被完成所对应的资源索取记录确定所述计算节点的资源贡献量,其中,所述资源索取记录由所述发布节点写入在所述区块链中。
[0332] B9、如B8所述的资源贡献量证明方法,在所述向区块链中写入所述子计算任务被完成所对应的资源贡献记录之后,还包括:
[0333] 从所述奖励节点接收对应所述资源贡献量的奖励内容。
[0334] B10、如B8所述的资源贡献量证明方法,其特征在于:
[0335] 所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0336] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0337] B11、如B8所述的资源贡献量证明方法,所述接收并完成子计算任务,包括:
[0338] 从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务。
[0339] B12、如B11所述的资源贡献量证明方法,从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务,包括:
[0340] 上报所述计算节点的节点标识至所述区块链中或所述发布节点;
[0341] 从所述区块链中或所述发布节点获取与所述计算节点的节点标识对应的子计算任务。
[0342] 本发明还公开了C13、一种资源贡献量证明方法,应用于奖励节点,所述方法包括:
[0343] 从区块链中获取子计算任务被完成所对应的资源贡献记录,所述资源贡献记录为完成所述子计算任务的计算节点写入在所述区块链中,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0344] 从所述区块链中获取所述子计算任务被完成所对应的资源索取记录,所述资源索取记录为所述发布节点针对所述子计算任务被完成的事件写入在所述区块链中;
[0345] 根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。
[0346] C14、如C13所述的资源贡献量证明方法,在所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量之后,还包括:
[0347] 将所述计算节点的资源贡献量记录在所述区块链中。
[0348] C15、如C13所述的资源贡献量证明方法,在所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量之后,还包括:
[0349] 根据所述计算节点的资源贡献量确定所述计算节点的奖励内容;
[0350] 向所述计算节点下发所述奖励内容。
[0351] C16、如C13~C15中任一项所述的资源贡献量证明方法,其特征在于:
[0352] 所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0353] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0354] C17、如C16所述的资源贡献量证明方法,所述根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量,包括:
[0355] 将所述资源索取记录中资源索取量与所述资源贡献记录中资源贡献量进行对账处理,获得对账结果;
[0356] 根据所述对账结果确定所述计算节点的贡献资源量。
[0357] 本发明还公开了D18、一种资源贡献量证明装置,应用于发布节点,所述装置包括:
[0358] 发布单元,用于发布分布式计算任务,所述分布式计算任务包括多个用于计算节点完成的子计算任务;
[0359] 记录写入单元,用于向区块链中写入所述子计算任务被完成所对应的资源索取记录,使得奖励节点根据从所述区块链中获取的所述资源索取记录和所述子计算任务被完成所对应的资源贡献记录确定所述计算节点的资源贡献量,其中,所述资源贡献记录由所述计算节点写入所述区块链中。
[0360] D19、如D18所述的资源贡献量证明装置,所述发布单元,具体用于:
[0361] 向所述区块链中写入所述分布式计算任务,或者
[0362] 向所述区块链上的计算节点分发所述分布式计算任务。
[0363] D20、如D18或D19所述的资源贡献量证明装置,所述发布单元,具体用于:
[0364] 向所述区块链上满足预设对应条件的各计算节点广播所述分布式计算任务,使得所述计算节点获得与该计算节点满足所述预设对应条件的所述子计算任务;或者[0365] 向所述区块链上的每个计算节点广播所述分布式计算任务,使得所述计算节点随机获得所述子计算任务。
[0366] D21、如D20所述的资源贡献量证明装置,所述发布单元,具体用于:
[0367] 获得所述计算节点上报的所述计算节点的节点标识;
[0368] 确定与该计算节点的节点标识对应的子计算任务;
[0369] 向所述计算节点下发与所述计算节点的节点标识对应的子计算任务。
[0370] D22、如D18-D21中任一项所述的资源贡献量证明装置,所述分布式计算任务,具体为:
[0371] 包括多个流量型任务的分布式流量任务,或者
[0372] 包括多个共享IP型任务的分布式IP共享任务。
[0373] D23、如D18所述的资源贡献量证明装置,其特征在于:
[0374] 所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0375] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0376] D24、如D18所述的资源贡献量证明装置,所记录写入单元,具体用于:
[0377] 在所述计算节点完成所述子计算任务时,向所述区块链中写入所述子计算任务被完成所对应的资源索取记录,或者
[0378] 在预设时间段内向所述区块链中写入所述子计算任务被完成所对应的资源索取记录。
[0379] 本发明还公开了E25、一种资源贡献量证明装置,应用于计算节点,所述装置包括:
[0380] 接收单元,用于接收并完成子计算任务,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0381] 记录写入单元,用于向区块链中写入所述子计算任务被完成所对应的资源贡献记录,使得奖励节点根据从所述区块链中获取的所述资源贡献记录和所述子计算任务被完成所对应的资源索取记录确定所述计算节点的资源贡献量,其中,所述资源索取记录由所述发布节点写入在所述区块链中。
[0382] E26、如E25所述的资源贡献量证明装置,所述装置还包括:
[0383] 从所述奖励节点接收对应所述资源贡献量的奖励内容。
[0384] E27、如E25所述的资源贡献量证明方法,其特征在于:
[0385] 所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0386] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0387] E28、如E25所述的资源贡献量证明装置,所述接收单元,具体用于:
[0388] 从所述区块链中或者从所述发布节点获取与所述计算节点之间满足预设对应条件的所述子计算任务。
[0389] E29、如E28所述的资源贡献量证明装置,所述接收单元,具体用于:
[0390] 上报所述计算节点的节点标识至所述区块链中或所述发布节点;
[0391] 从所述区块链中或所述发布节点获取与所述计算节点的节点标识对应的子计算任务。
[0392] 本发明还公开了F30、一种资源贡献量证明装置,应用于奖励节点,所述装置包括:
[0393] 第一获取单元,用于从区块链中获取子计算任务被完成所对应的资源贡献记录,所述资源贡献记录为完成所述子计算任务的计算节点写入在所述区块链中,所述子计算任务属于发布节点所发布的分布式子计算任务;
[0394] 第二获取单元,用于从所述区块链中获取所述子计算任务被完成所对应的资源索取记录,所述资源索取记录为所述发布节点针对所述子计算任务被完成的事件写入在所述区块链中;
[0395] 贡献量确定单元,用于根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。
[0396] F31、如F30所述的资源贡献量证明装置,所述装置还包括:
[0397] 记录写入单元,用于将所述计算节点的资源贡献量记录在所述区块链中。
[0398] F32、如F30所述的资源贡献量证明装置,所述装置还包括:
[0399] 奖励确定单元,用于根据所述计算节点的资源贡献量确定所述计算节点的奖励内容;
[0400] 奖励下发单元,用于向所述计算节点下发所述奖励内容。
[0401] F33、如F30~F32中任一项所述的资源贡献量证明装置,其特征在于:
[0402] 所述资源索取记录包括所述发布节点的签名信息和所述子计算任务被完成所对应的资源索取量;
[0403] 所述资源贡献记录包括所述计算节点的签名信息和所述子计算任务被完成所对应的资源贡献量。
[0404] F34、如F33所述的资源贡献量证明装置,所述贡献量确定单元,包括:
[0405] 对账子单元,用于将所述资源索取记录中资源索取量与所述资源贡献记录中资源贡献量进行对账处理,获得对账结果;
[0406] 结果确定子单元,用于根据所述对账结果确定所述计算节点的贡献资源量。
[0407] 本发明还公开了G35、一种资源贡献量证明系统,包括:
[0408] 发布节点,用于发布分布式计算任务,所述分布式计算任务包括多个子计算任务,还用于向区块链中写入所述子计算任务被完成所对应的资源索取记录;
[0409] 计算节点,用于接收并完成所述子计算任务,以及向所述区块链中写入所述子计算任务被完成所对应的资源贡献记录;
[0410] 奖励节点,用于从所述区块链中获取所述资源贡献记录和所述资源索取记录,根据所述资源索取记录和所述资源贡献记录确定所述计算节点的资源贡献量。
[0411] 本发明还公开了H36、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现A1-A7中任一项所述的步骤,或者实现B8-B12中任一项所述的步骤,或者实现C13-C17中任一项所述的步骤。
[0412] 本发明还公开了I37、一种资源贡献量证明设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求A1-A7中任一项所述的步骤,或者实现B8-B12中任一项所述的步骤,或者实现C13-C17中任一项所述的步骤。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用