CN111949395B - 基于区块链的共享算力数据处理方法、***及存储介质 - Google Patents

基于区块链的共享算力数据处理方法、***及存储介质 Download PDF

Info

Publication number
CN111949395B
CN111949395B CN202010687529.0A CN202010687529A CN111949395B CN 111949395 B CN111949395 B CN 111949395B CN 202010687529 A CN202010687529 A CN 202010687529A CN 111949395 B CN111949395 B CN 111949395B
Authority
CN
China
Prior art keywords
task
computing
calculation
node
block
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
CN202010687529.0A
Other languages
English (en)
Other versions
CN111949395A (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.)
Guangzhou Jiudi Digital Technology Co ltd
Original Assignee
Guangzhou Jiudi Digital Technology Co ltd
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 Guangzhou Jiudi Digital Technology Co ltd filed Critical Guangzhou Jiudi Digital Technology Co ltd
Priority to CN202010687529.0A priority Critical patent/CN111949395B/zh
Publication of CN111949395A publication Critical patent/CN111949395A/zh
Application granted granted Critical
Publication of CN111949395B publication Critical patent/CN111949395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的提供了基于区块链的共享算力数据处理方法、***和存储介质,方法包括以下步骤:根据算力资源占用情况,发送任务请求至服务器节点;获取并行执行的任务块;根据任务块执行计算任务,生成计算结果,并根据实际工作量证明在区块链中新区块;实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;对计算结果进行验证得到验证结果,并将验证结果返回至服务器节点;方法充分合理地利用分布式网络中空闲的计算节点,保证最优化分配,为高强度计算类型任务提供强大的去中心化算力资源,数据处理效率更高;实现无差异的计算节点自治,更具实用性,可广泛应用于分布式计算网络技术领域。

Description

基于区块链的共享算力数据处理方法、***及存储介质
技术领域
本发明涉及分布式计算网络技术领域,尤其是基于区块链的共享算力数据处理方法、***及存储介质。
背景技术
分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。
在当前的生产生活中,面对高强度计算类型任务时,通常还是采用集中式的计算方式,中央计算机需要执行所有的计算任务;因此,当终端很多时,会导致响应速度变慢;如果终端用户有不同的需要,要对每个用户的程序和资源做单独的配置,在集中式***上处理起来不仅困难,而且效率低下。此外,在现有技术中也采用了一些分布式计算网络来完成高强度的计算任务;但其单纯采用计算任务均衡分配的方式,在不考虑计算节点的性能状态以及节点的计算资源占用的情况下,同样也会对网络中单个的计算节点带来巨大压力。
发明内容
有鉴于此,为至少部分解决上述技术问题之一,本发明实施例目的在于提供一种基于区块链的高效的、可实现无差异节点自治的共享算力数据处理方法,以及可以对应实现基于区块链的共享算力数据处理***以及存储介质。
第一方面,本发明的提供了基于区块链的共享算力数据处理方法,包括以下步骤:
根据算力资源占用情况,发送任务请求至服务器节点;
获取并行执行的任务块;任务块是由服务器节点根据任务请求,将获取的计算任务进行分配所得到的;
根据任务块执行计算任务,生成计算结果,并根据实际工作量证明在区块链中添加新区块;实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;
对计算结果进行验证得到验证结果,并将验证结果返回至服务器节点。
此外,在本发明的一些实施例中,根据任务块执行计算任务,生成计算结果,并根据实际工作量证明在区块链中添加新区块,这一步骤具体包括:获取新区块所处的区块链中的上一区块的第一哈希值,根据第一哈希值生成第二哈希值并存储在新区块的区块头中。
第二方面,本发明的提供了另基于区块链的共享算力数据处理方法,包括以下步骤:
获取计算任务以及计算节点的任务请求,将计算任务进行分割得到若干并行执行的任务块;
根据任务请求以及计算节点的性能参数将任务块分配至若干计算节点;计算节点的状态参数包括计算节点的计算能力、存储空间以及宽带环境;
获取第一计算结果,并将第一计算结果进行整合得到第二计算结果,输出第二计算结果;第一计算结果是由计算节点返回的完成验证后的计算结果;
获取区块链中根据实际工作量证明添加的新区块的区块体信息,进行积分记录。
在本发明的一些实施例中,方法还包括以下步骤:
对计算节点进行性能测试,记录性能测试结果;
获取计算节点性能在全网的计算节点性能中的相对位置;
根据测试结果和相对位置生成执行任务块的计算时间,并更新计算节点的性能参数。
在本发明的一些实施例中,方法还包括以下步骤:当未获取得到计算结果,确定节点计算失败并基于动态重分配机制将任务块分配至新的计算节点。
在本发明的一些实施例中,获取区块链中根据实际工作量证明添加的新区块的区块体信息,进行积分记录这一步骤,其具体包括:
获取区块链中新区块的实际工作量证明,实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;
根据计算任务构建积分池,并根据实际工作量证明对积分池进行划分,得到计算节点的积分值并进行记录。
在本发明的一些实施例中,根据任务请求以及计算节点的性能参数将任务块分配至若干计算节点这一步骤;其具体包括以下步骤:
获取任务块,确定任务块的待处理数据量;
根据任务块的种类以及任务块的待处理数据量进行计算节点性能匹配,并确定任务块的发送频率;
根据计算节点性能匹配的结果和发送频率将任务块分配至若干计算节点。
第三方面,本发明的技术方案还提供一种基于区块链的共享算力数据处理***,包括计算节点和服务器节点:
其中,计算节点用于根据算力资源占用情况,发送任务请求至服务器节点;获取并行执行的任务块,任务块是由服务器根据任务请求,将获取的计算任务进行分配所得到的;根据任务块执行计算任务,生成计算结果;并根据实际工作量证明在区块链中添加新区块;实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;对计算结果进行验证得到验证结果,并将验证结果返回至服务器节点;
其中,服务器节点用于获取计算任务以及计算节点的任务请求,将计算任务进行分割得到若干并行执行的任务块;根据任务请求以及计算节点的性能参数将任务块分配至若干计算节点;计算节点的状态参数包括计算节点的计算能力、存储空间以及宽带环境;获取第一计算结果,并将第一计算结果进行整合得到第二计算结果,输出第二计算结果;第一计算结果是由计算节点返回的完成验证后的计算结果;获取区块链中根据实际工作量证明添加的新区块的区块体信息,进行积分记录。
第四方面,本发明的技术方案还提供另一种基于区块链的共享算力数据处理***,其包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当至少一个程序被至少一个处理器执行,使得至少一个处理器实现第一方面或第二方面中的基于区块链的共享算力数据处理方法。
第五方面,本发明的技术方案还提供了一种存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现如第一方面或第二方面中的方法。
本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:
本发明依据计算节点的算力资源的占用情况,以主动提出任务请求的方式,完成任务的分配,充分合理的利用分布式网络中空闲的计算节点,避免单个节点承担过度的计算压力而导致效率低下;将任务处理拆分后产生的大量任务块合理分发至网络中各可用计算节点,保证最优化分配,为高强度计算类型任务提供强大的去中心化算力资源,数据处理效率更高;实现无差异的计算节点自治;通过实际工作量证明机制构建区块链,可减少计算资源的浪费,形成共识的周期短,更具实用性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种基于区块的共享算力数据处理***的示意图;
图2为本发明实施例一种基于区块的共享算力数据处理***中计算节点执行的步骤流程图;
图3为本发明实施例一种基于区块的共享算力数据处理***中服务器节点执行的步骤流程图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
共享算力数据处理***实质是一种分布式计算网络,用于处理无法通过一台计算机单独完成的高强度计算类型任务或者需要耗费计算机大量的算力资源、计算时间的任务。在共享算力资源的过程中,将多种类智能设备的闲置的算力接入到去中心化计算网络,结合大量算法和工程优化,实现在计算任务中的应用。第一方面,参照图1,本实施例提供了一种基于区块链的共享算力数据处理的***,属于“分级去中心化结构”的分布式计算网络,***中各个的节点可定义为不同的级;在同级中,实现完全去中心化,并基于实际工作量证明机制生成区块链的区块,作为积分池划分的凭据;多级混合时,即为多中心化结构。基于区块链的共享算力数据处理的***(下称“共享算力平台”)采用客户机-服务器架构(Client-Server Architecture),算力资源提供方(Computing Resource Provider)是客户机角色,其包括分布式计算节点和分布式存储节点,服务器节点(Service Node)是服务器角色。当计算节点处于空闲状态或算力资源占用率较低的情况时,会主动向服务器节点进行请求任务,服务器节点会根据算力资源的性能状态进行匹配并分发相应的任务块。另外,共享算力平台也可将计算任务数据进行分割处理后,存储至分布式存储节点,分布式计算节点在接收到服务器的调度指令后从分布式存储节点下载任务块数据。在分布式网络拓扑结构下,算力资源提供方和服务器节点可随时并入或脱离网络。
在第二方面,参照图2,实施例提供的基于区块链的共享算力数据处理方法,其包括步骤S101-S104,由分布式计算网络中的计算节点执行:
S101、根据算力资源占用情况,发送任务请求至服务器节点;实施例的分布式计算网络中,各个计算节点根据节点自身的算力资源的闲置情况,向服务器节点发送该计算节点的闲置情况以及节点的性能状况,以作为后续服务器节点进行任务块分发匹配的依据。
S102、获取并行执行的任务块,其中,任务块是由服务器节点根据任务请求,将获取得到的数据量庞大的计算任务进行分割所得到的。
S103、根据任务块执行计算任务,生成计算结果;并根据实际工作量证明在区块链中新区块;实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;
具体地,计算节点完成任务块的计算任务,并根据实际工作量证明对应生成新的区块加入到区块链中,将计算的结果的信息、任务块的相关信息、实际工作量证明以及计算难度等内容存储在区块体中;其中,实际工作量证明(Proof-of-Practical-Work)机制,是对计算节点所完成的计算工作进行记录,生成对应的记录文件进行保存。不同于现有技术的挖矿应用,本实施例的分布式计算网络,将智能设备闲置时的算力资源用于实际生产时,能够完成的产生实际价值的具体计算任务进行计算得到单位时间所产生的价值的过程,称之为实际工作量证明机制;例如,某个终端设备在一端时间周期内,完成生产任务,并产生大小为A的实际价值,那么,云算链则根据时间周期和A的值计算该终端的单位时间所产生的价值,即记为该终端的实际工作证明。通过该机制将同一个任务块分发至不少于3个计算节点,并在满足匹配条件的计算节点中随机分发,不同计算节点对同一任务块计算后产生的任务结果将进入验证过程。为防止虚假上报任务计算时间和节点的性能情况,实施例中节点还启用了基准点(Benchmark)动态调校机制;基于不同Benchmark对计算节点性能测试的记录,掌握单个设备性能在分布式计算网络中的计算节点设备性能中的相对位置,以此为基准对任务块计算时间合理性进行判断,同时对于计算节点性能参数进行不定时测试及更新。
在一些实施例中步骤S103还包括:获取上一区块的第一哈希值,根据第一哈希值生成第二哈希值并存储在新区块的区块头中。具体地,将计算节点本地缓存的计算结果数据以及相关信息存储在新区块的区块体中,在区块体中生成该区块所存储的计算结果的Merkle树,将Merkle树根的值保存在区块头中;然后在区块头中,获取父哈希值,即该区块链中上一个区块的区块头中的哈希值以及随机数;通过SHA256算法生成一个哈希值填入到当前区块的区块头中,并同时生成时间戳字段;在区块中还包括难度值字段,该难度值字段会根据之前一段时间区块的平均生成时间进行调整以应对整个网络不断变化的整体计算总量,如果计算总量发生了变化,则***会调整计算的难度值,使得预期完成下一个区块的时间依然在一定时间内。
S104、对计算结果进行验证得到验证结果,并将验证结果返回验证后的结果至服务器节点。
具体地,对计算结果的验证规则包括有:其一、根据任务块执行计算任务的计算节点数目不小于第一阈值;其二、根据任务块执行计算任务,生成计算结果的数目,不小于第二阈值;第一阈值为预设的计算节点数目;第二阈值为预设的计算结果数目。例如:在实施例中,对于计算结果正确性,提供的结果验证条件需满足两个规则:第一、同一个任务块发送至不少于A(A≥3)个计算节点;第二、同一个任务块有不少于B的计算结果成功返回。可根据具体地应用场景定义A和B的值,也可以将权限开放给算力资源消费方。再例如:在一项CG渲染任务中,定义A=5,B=51%,即当同一个任务块有来自3个计算节点的渲染结果成功返回并比对验证成功后,该任务块结果被标注为“成功-待整合”。此外,根据不同任务类型的任务块,对计算结果的验证方法不同,实施例可以基于API对其应用使用的算法进行开发部署。此外,验证规则还可以包括单个计算节点中任务块被执行迭代的次数等内容。
第三方面,参照图3,本发明实施例提供了另一种基于区块链的共享算力数据处理方法,在计算任务提交至实施例的***后,经过任务处理、任务拆分成大量的任务块、任务块分发至分布式计算节点、结果整合等系列过程后,输出最终任务结果。其步骤包括S201-S204,由分布式计算网络中的服务器节点完成和执行:
S201、获取计算任务以及计算节点的任务请求,将计算任务分割得到若干并行执行的任务块;具体地,***完成对任务的预处理,分析得到任务的类型以及任务的具体内容,根据任务的类型和内容匹配相应的分割算法以产生大量的可并行执行的任务块。并且,在实施例的云算链中,提供了基础分割算法支持,也可以基于CCC API自行开发或调用适用于不同任务的分割算法,例如:支持CGI渲染类型任务的分割算法。
S202、根据任务请求以及计算节点的性能参数将任务块分配至若干计算节点;计算节点的状态参数包括计算节点的计算能力、存储空间以及宽带环境;具体地,由服务器节点将任务处理拆分后产生的大量任务块合理分发至网络中各可用计算节点,保证最优化分配;为确保最优分配,在服务器节点进行任务块分配的过程中,依据服务器节点接收到的来自计算节点的任务请求,以及对应计算节点的性能参数作为分发匹配的主要标准;其中,计算节点的性能参数包括:计算节点的计算能力、存储空间、带宽环境等参数的综合指标。
在一些实施例中,在S202步骤中,其进一步细分为:获取任务块,确定任务块的待处理数据量;根据任务块的种类以及任务块的待处理数据量进行计算节点性能匹配,并确定任务块的发送频率。
具体地,由服务器节点完成对任务块的种类以及内容的分类,根据分类后的结果对应分配至该类型任务块处理的若干计算节点,并确定任务块的发送频率,完成任务块的分发匹配。例如,通过识别记录云算链中全部计算节点的硬件信息,为避免由于硬件差异造成的计算结果差异,可设定将同一任务拆分后生成的多个任务块发送至网络中同类型硬件设备进行计算。此外,作为可选的实施方式,服务器节点可根据人工智能算法的分配模型,将考虑任务种类、任务块计算量、节点算力、节点网络情况、节点历史稳定性、节点活跃度等多维度参数;通过深度学习完成任务块的分发匹配。
S203、获取第一计算结果,并将第一计算结果进行整合得到第二计算结果,输出第二计算结果;第一计算结果是由计算节点返回的完成验证后的计算结果;即获取计算结果,并将计算结果进行整合,输出整合后的计算结果。计算结果是由计算节点根据任务块执行计算任务,并完成验证后的计算结果。必要时,可在服务器节点中引入与计算节点中步骤S104相同的结果验证机制,对接收到的计算结果进行验证。
S204、获取区块链中根据实际工作量证明添加的新区块的区块体信息,进行积分记录;具体地,计算节点在完成相应的任务块的计算任务会后,根据实际工作量证明(Proof-of-Practical-Work)机制在区块链中新增了对应的区块,服务器节点根据对应计算任务在区块链中新区块的区块体信息构建相应任务的积分池;再根据区块链中的区块信息将积分池中的积分分配至各个计算节点。更为具体地,步骤S204可进一步细分为步骤S2041和步骤S2042:
S2041、获取区块链中新区块的实际工作量证明,实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;即根据区块链中新增的区块确定积分池内积分值的多少。
S2042、根据计算任务构建积分池,并根据实际工作量证明对积分池进行划分,得到计算节点的积分值并进行记录;即根据区块链中的区块,将积分池中的积分分配至各个计算节点。
此外,服务器节点根据周期时间内完成的计算任务的总数,在积分池内添加一定的积分值。在实施例的***中,计算节点可根据预设的兑换规则进行积分值的兑换。
在云算链的一些实施方式中,方法还包括步骤S205:当未获取得到计算结果,确定节点计算失败并基于动态重分配机制将任务块分配至新的计算节点。
具体地,采用冗余计算(Redundant Computing)和动态重分配(DynamicRedistribution)技术确保所有任务计算的完整性;其中,动态重分配机制为将计算节点的任务块分配至其他计算节点。冗余计算机制保证一个任务块发送至N个计算节点进行计算,对于不同类型的任务,冗余节点数量可通过自定义的方式确定。例如:某个计算节点在规定时间内没有成功提交其任务块的计算结果,则认定该节点计算失败;同时动态重分配机制将被激活,将该节点任务块分配至新计算节点。
此外,云算链作为新型去中心化超级计算网络,具备极强的协议属性,可运行于联盟链之上,迅速融合区块链的交易记账、加密、及智能合约等技术。同时,面向开发者社区开放标准化API接口,为各类上层应用提供强大的去中心化算力资源。
根据图2以及图3的内容,以完成动画影视渲染的任务为例,将动画视频文件以及渲染任务提交至云算链,并确定渲染工作中需要的计算节点数目,同时根据渲染任务将待渲染的视频文件进行逐帧分解,必要时对逐帧图片进行拆解,如步骤S201的描述得到若干可并行执行的待渲染任务块,并通过步骤S202将其分发至预设数目的闲置的分布式计算节点,交由计算节点完成如步骤S101-S104的渲染工作,由各个计算节点完成渲染任务块的结果验证后,将结果返回至服务器节点,再由服务器节点完成验证以及逐帧渲染文件结果的汇总,如步骤S203的描述,输出得到完成渲染后的视频文件;在计算节点完成渲染任务的同时,还根据实际工作量证明(Proof-of-Practical-Work)机制在区块链中新区块,并记录相应的任务块以及算力消耗信息;服务器节点根据区块链中的新区块构建计算任务的积分池,并添加额外的积分至积分池中;计算节点同样根据新区块的信息,获取相应的积分值,并根据积分值,在***中的积分商城进行积分值的兑换。
第四方面,本发明实施例还提供了其他基于区块链的共享算力数据处理的***,其***中的核心要素包括计算节点和服务器节点:
其中,计计算节点用于根据算力资源占用情况,发送任务请求至服务器节点;获取并行执行的任务块,任务块是由服务器根据任务请求,将获取的计算任务进行分配所得到的;根据任务块执行计算任务,生成计算结果;并根据实际工作量证明在区块链中新区块;实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;对计算结果进行验证,返回验证后的结果至服务器节点。
服务器节点用于获取计算任务以及计算节点的任务请求,将计算任务进行分割得到若干并行执行的任务块;根据任务请求以及计算节点的性能参数将任务块分配至若干计算节点;计算节点的状态参数包括计算节点的计算能力、存储空间以及宽带环境;获取第一计算结果,并将第一计算结果进行整合得到第二计算结果,输出第二计算结果;第一计算结果是由计算节点返回的完成验证后的计算结果;根据区块链中新区块生成积分值并进行记录。
在一些***实施例中,包括多个服务器节点,***通过容错机制保证单个服务器节点故障不会对任务整体执行造成严重影响,正常运行的服务器节点将动态接管故障节点的任务,避免单点故障(SPoF)的发生。
在第二方面和第三方面的方法实施例中的内容均适用于本***的实施例中,本***实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
第五方面,本发明实施例还提供基于区块链的共享算力数据处理***,其包括至少一个处理器;至少一个存储器,用于存储至少一个程序;当至少一个程序被至少一个处理器执行,使得至少一个处理器实现如图2或图3中所示的基于区块链的共享算力数据处理方法。
本发明实施例还提供了一种存储介质内存储有程序,程序被处理器执行如图2或图3所示的方法。
从上述具体地实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:
1.随着智能硬件快速发展及其芯片性能不断提高,本发明所提供的实施例可形成新的共享算力经济生态圈,在面对庞大的计算量任务时,可以通过最低的成本来获取快速的生产效率与效果。
2.本发明所提供的技术方案,大大降低了去中心化网络中各节点间角色的差异化程度,推进了向无差异节点自治的自进化网络***的发展进程。
3.本发明提供的技术方案,结合集中式计算网络的优势和分布式计算网络的优势,在同级中,实现完全去中心化;多级混合时,为多中心化结构;既保证了高效率、高性能以及良好的容错性能和扩展性能,又能够避免数据的安全性和共享的风险问题。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
其中,功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
计算机可读介质的更具体地示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (9)

1.基于区块链的共享算力数据处理方法,其特征在于,包括以下步骤:
根据算力资源占用情况,发送任务请求至服务器节点;
获取并行执行的任务块;所述任务块是由所述服务器节点根据任务请求,将获取的计算任务进行分配所得到的;
根据所述任务块执行计算任务,生成计算结果,并根据实际工作量证明在区块链中添加新区块;所述实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;
对所述计算结果进行验证得到验证结果,并将所述验证结果返回至所述服务器节点;
获取区块链中根据所述实际工作量证明添加的新区块的区块体信息,进行积分记录;
其中,对所述计算结果的验证规则包括:
根据所述任务块执行计算任务的计算节点数目不小于第一阈值;
根据所述任务块执行计算任务,生成计算结果的数目,不小于第二阈值;
所述第一阈值为预设的计算节点数目;
所述第二阈值为预设的计算结果数目;
所述获取区块链中根据所述实际工作量证明添加的新区块的区块体信息,进行积分记录这一步骤,包括以下步骤:
获取区块链中新区块的实际工作量证明,所述实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;
根据所述计算任务构建积分池,并根据所述实际工作量证明对所述积分池进行划分,得到所述计算节点的积分值并进行记录。
2.根据权利要求1所述的基于区块链的共享算力数据处理方法,其特征在于,所述根据所述任务块执行计算任务,生成计算结果,并根据实际工作量证明在区块链中添加新区块,这一步骤具体包括:
获取所述新区块所处的区块链中的上一区块的第一哈希值,根据所述第一哈希值生成第二哈希值并存储在新区块的区块头中。
3.基于区块链的共享算力数据处理方法,其特征在于,包括以下步骤:
获取计算任务以及计算节点的任务请求,将所述计算任务进行分割得到若干并行执行的任务块;
根据所述任务请求以及所述计算节点的性能参数将所述任务块分配至若干所述计算节点;
所述计算节点的状态参数包括计算节点的计算能力、存储空间以及宽带环境;
获取第一计算结果,并将所述第一计算结果进行整合得到第二计算结果,输出所述第二计算结果;所述第一计算结果是由计算节点根据实际工作量证明返回的完成验证后的计算结果。
4.根据权利要求3所述的基于区块链的共享算力数据处理方法,其特征在于,所述方法还包括以下步骤:
对所述计算节点进行性能测试,记录性能测试结果;
获取所述计算节点的性能在全网的计算节点性能中的相对位置;
根据所述测试结果和所述相对位置生成执行所述任务块的计算时间,并更新所述计算节点的性能参数。
5.根据权利要求3所述的基于区块链的共享算力数据处理方法,其特征在于,所述方法还包括以下步骤:
当未获取得到所述计算结果,确定节点计算失败并基于动态重分配机制将所述任务块分配至新的计算节点。
6.根据权利要求3-5任一项所述的基于区块链的共享算力数据处理方法,其特征在于,所述根据所述任务请求以及所述计算节点的性能参数将所述任务块分配至若干所述计算节点这一步骤,包括以下步骤:
获取所述任务块,确定所述任务块的待处理数据量;
根据所述任务块的种类以及所述任务块的待处理数据量进行计算节点性能匹配,并确定所述任务块的发送频率;
根据计算节点性能匹配的结果和所述发送频率将所述任务块分配至若干计算节点。
7.基于区块链的共享算力数据处理***,其特征在于,包括计算节点和服务器节点:
所述计算节点,用于根据算力资源占用情况,发送任务请求至服务器节点;获取并行执行的任务块,所述任务块是由服务器根据任务请求,将获取的计算任务进行分配所得到的;根据所述任务块执行计算任务,生成计算结果;并根据实际工作量证明在区块链中添加新区块;所述实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;对所述计算结果进行验证得到验证结果,并将所述验证结果返回验证后的结果至所述服务器节点;
所述服务器节点,用于获取计算任务以及计算节点的任务请求,将所述计算任务进行分割得到若干并行执行的任务块;根据所述任务请求以及所述计算节点的性能参数将所述任务块分配至若干计算节点;所述计算节点的状态参数包括计算节点的计算能力、存储空间以及宽带环境;获取第一计算结果,并将所述第一计算结果进行整合得到第二计算结果,输出所述第二计算结果;所述第一计算结果是由计算节点返回的完成验证后的计算结果;获取区块链中根据所述实际工作量证明添加的新区块的区块体信息,进行积分记录;
其中,对所述计算结果的验证规则包括:
根据所述任务块执行计算任务的计算节点数目不小于第一阈值;
根据所述任务块执行计算任务,生成计算结果的数目,不小于第二阈值;
所述第一阈值为预设的计算节点数目;
所述第二阈值为预设的计算结果数目;
所述获取区块链中根据所述实际工作量证明添加的新区块的区块体信息,进行积分记录这一步骤,包括以下步骤:
获取区块链中新区块的实际工作量证明,所述实际工作量证明为未在执行计算任务情况下算力资源所能够完成的工作量;
根据所述计算任务构建积分池,并根据所述实际工作量证明对所述积分池进行划分,得到所述计算节点的积分值并进行记录。
8.基于区块链的共享算力数据处理***,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-6任一项所述的基于区块链的共享算力数据处理方法。
9.一种存储介质,其中存储有处理器可执行的程序,其特征在于:所述处理器可执行的程序在由处理器执行时用于实现如权利要求1-6中任一项所述的基于区块链的共享算力数据处理方法。
CN202010687529.0A 2020-07-16 2020-07-16 基于区块链的共享算力数据处理方法、***及存储介质 Active CN111949395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010687529.0A CN111949395B (zh) 2020-07-16 2020-07-16 基于区块链的共享算力数据处理方法、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010687529.0A CN111949395B (zh) 2020-07-16 2020-07-16 基于区块链的共享算力数据处理方法、***及存储介质

Publications (2)

Publication Number Publication Date
CN111949395A CN111949395A (zh) 2020-11-17
CN111949395B true CN111949395B (zh) 2024-06-11

Family

ID=73341010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010687529.0A Active CN111949395B (zh) 2020-07-16 2020-07-16 基于区块链的共享算力数据处理方法、***及存储介质

Country Status (1)

Country Link
CN (1) CN111949395B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112418790B (zh) * 2020-11-18 2024-03-26 江苏赞奇科技股份有限公司 一种基于区块链的服务链高有效性动态扩展追溯方法
CN112787812A (zh) * 2021-01-15 2021-05-11 中国工商银行股份有限公司 基于区块链的计算作业处理方法、装置及***
CN112532751B (zh) * 2021-02-09 2021-05-07 中关村科学城城市大脑股份有限公司 城市大脑ai计算中心分布式异构算力的调度方法及***
CN113159944A (zh) * 2021-03-10 2021-07-23 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113110936A (zh) * 2021-04-14 2021-07-13 区块动力(广州)科技有限公司 一种对区块链节点运行性能的调节方法
CN113553192B (zh) * 2021-09-18 2022-03-15 深圳时空云科技有限公司 基于区块链的算力设备算力调配方法与装置
CN115460224A (zh) * 2022-08-23 2022-12-09 浪潮通信信息***有限公司 基于区块链技术的算力资源调度方法及装置
CN115562877B (zh) * 2022-11-15 2023-03-24 北京阿丘科技有限公司 分布式算力资源的编排方法、装置、设备及存储介质
CN117472549B (zh) * 2023-12-27 2024-03-05 环球数科集团有限公司 一种基于aigc的分布式算力调度***
CN117692128B (zh) * 2024-02-02 2024-04-16 波维希数字科技有限公司 一种三级密链***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018032371A1 (zh) * 2016-08-13 2018-02-22 深圳市樊溪电子有限公司 一种区块链功耗感知的PoW共识机制
CN109118224A (zh) * 2018-08-22 2019-01-01 泰康保险集团股份有限公司 区块链网络的工作量证明方法、装置、介质及电子设备
CN109146484A (zh) * 2018-08-31 2019-01-04 深圳付贝科技有限公司 基于区块链的共识验证方法、挖矿机及区块链***
CN110471770A (zh) * 2019-08-15 2019-11-19 北京北科融智云计算科技有限公司 一种基于区块链分布式计算方法、***、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018032371A1 (zh) * 2016-08-13 2018-02-22 深圳市樊溪电子有限公司 一种区块链功耗感知的PoW共识机制
CN109118224A (zh) * 2018-08-22 2019-01-01 泰康保险集团股份有限公司 区块链网络的工作量证明方法、装置、介质及电子设备
CN109146484A (zh) * 2018-08-31 2019-01-04 深圳付贝科技有限公司 基于区块链的共识验证方法、挖矿机及区块链***
CN110471770A (zh) * 2019-08-15 2019-11-19 北京北科融智云计算科技有限公司 一种基于区块链分布式计算方法、***、设备和存储介质

Also Published As

Publication number Publication date
CN111949395A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN111949395B (zh) 基于区块链的共享算力数据处理方法、***及存储介质
CN111949394A (zh) 一种共享算力资源的方法、***及存储介质
JP7158801B2 (ja) グラフデータ処理方法、グラフデータの計算タスクの配布方法、装置、コンピュータプログラム、及びコンピュータ機器
US9323580B2 (en) Optimized resource management for map/reduce computing
CN111951363A (zh) 一种基于云算链的渲染方法、***及存储介质
US9805140B2 (en) Striping of directed graphs and nodes with improved functionality
CN107450855B (zh) 一种用于分布式存储的模型可变的数据分布方法及***
WO2016148963A1 (en) Intelligent placement within a data center
TWI725744B (zh) 透過多層次相關性建立系統資源預測及資源管理模型的方法
Sood et al. Matrix based proactive resource provisioning in mobile cloud environment
Kim et al. Prediction based sub-task offloading in mobile edge computing
CN109063049A (zh) 一种区块链网络的账号处理方法、装置、设备及存储介质
Forti et al. Declarative continuous reasoning in the cloud-IoT continuum
CN113568978A (zh) 一种基于区块链中双链技术的数据共享***及方法
Nazari Cheraghlou et al. New fuzzy-based fault tolerance evaluation framework for cloud computing
Patil et al. Memory and Resource Management for Mobile Platform in High Performance Computation Using Deep Learning
CN113486118A (zh) 共识节点选取方法及装置
CN117370460A (zh) 基于双链存储的区块链存储优化方法及装置
CN111951112A (zh) 基于区块链的智能合约执行方法、终端设备和存储介质
CN110851282A (zh) 一种基于内存网格的分布式数据计算方法及***
CN115858126A (zh) 一种分布式算力资源调配方法、设备及介质
CN115208900A (zh) 基于区块链与博弈模型的多云架构云服务资源调度方法
US20220107817A1 (en) Dynamic System Parameter for Robotics Automation
CN111598390B (zh) 服务器高可用性评估方法、装置、设备和可读存储介质
CN114237970A (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