基于计算元件的计算机资源分配方法与系统与流程

文档序号:25543363发布日期:2021-06-18 20:40
基于计算元件的计算机资源分配方法与系统与流程

【技术领域】

本发明是关于一种计算机资源的分配技术,特别是一种通过区块链技术进行计算机资源分配并记录在区块链的计算机资源分配方法以及系统。



背景技术:

在个人计算机的时代,个人计算机中的处理器愈来愈强大,储存空间也愈来愈大,然而,在一般应用中,并不会完全应用这些强大的处理能力与储存空间,使得有些资源被隐藏,现有技术中也没有有效分配这些资源的技术。

直到网络时代来临,使得个人计算机资源可以通过网络分享出去,衍生出的技术如计算机丛集(computercluster),每个参与丛集的计算机形成一个节点,通过网络将多个计算机链接,可以共同执行一些计算的任务,如分布式计算、网格计算等,多个节点之间也可以达到高可用性(highavailability)与负载平衡(loadbalance)的目的。

所述现有技术利用网络提供算力的应用例如在加密数据传递所需要计算的哈希(hash)演算、人工智能应用需要的算法、大数据分析需要的算法等。这些已知需求需要网络节点提供算力,但是潜在有安全性不高、运算来源不明以及节点不稳定(如电力)的种种问题,这些问题需要有改善方案。



技术实现要素:

本发明提出一种基于计算元件的计算机资源分配方法与系统,提出一个平台,用于根据有计算或是储存空间需求分配他人所提出可以分享出来的计算力或是储存空间,并且应用区块链的技术,能让参与计算机资源分配的卖方获得报偿,也能有效分配到具有高可用性的计算机资源。

根据所述基于计算元件的计算机资源分配方法的实施例,方法运行于多个节点之间,系统提出一或多个计算芯片,形成提供计算机资源的一或多个供应节点,各个计算芯片主动发布可分配计算机资源的信息至中央系统。

之后,由中央系统接收各供应节点发布的计算芯片的可分配计算机资源,并根据一计算机资源需求分配至少一可分配计算机资源,形成交付给至少一个计算芯片的任务,对应分配计算机资源的供应节点将接收中央系统的任务后,再以计算芯片执行演算,之后,由中央系统接收一或多个计算芯片的运算结果。

在另一实施例中,计算芯片可联机区块链,计算芯片提出可分配计算机资源,形成供应端节点,主动发布可分配计算机资源的信息,并通过智能合同记录于区块链。接着,需求端节点提交计算机资源需求,通过一智能合同写入区块链。

进一步的,计算芯片以外接或内建方式结合终端装置,由终端装置提供电力,形成参与计算机资源分配的节点,参与计算机资源分配的节点通过计算芯片中执行的软件程序主动提交可分配计算机资源,并联机智能合同,有中央系统可根据区块链中记录的计算机资源需求与至少一可分配计算机资源进行分配,形成交付给供应节点的计算芯片的任务。分配完成后,由各计算芯片执行任务,之后,通过智能合同,可以取得计算机资源的使用数据,并写入区块链,再根据区块链记录中使用计算机资源的证明,提供报偿给至少一供应端节点。

进一步的,所述计算机资源需求与可分配计算机资源为算力或储存空间,而供应端节点提供可分配计算机资源时,更包括费用以及币别。相似的,提出计算机资源需求时,还包括报偿,报偿以一币别写入供应端节点提供的一钱包地址。

根据基于计算元件的计算机资源分配系统实施例,系统主要由多个节点组合,其中包括一需求端节点以及至少一供应端节点,其中,各节点可以内建或外接计算芯片,形成提供算力或储存空间的供应端节点。

进一步的,需求端节点可通过特定软件程序产生指令,以通过中央系统使用经过分配的在供应端节点的计算机资源,在特定方式中,可通过智能合同将使用计算机资源的数据写入区块链,作为报偿计算之用。

其中由一中央系统执行所述的基于计算元件的计算机资源分配方法,能根据计算机资源需求与可分配计算机资源进行分配,形成交付给计算芯片的任务,之后可呼叫智能合同以取得计算机资源的使用数据,再根据区块链记录中使用计算机资源的证明,提供报偿给供应端节点。

本发明所采用的具体技术,将通过以下的实施例及附呈图式作进一步的说明。

【附图说明】

图1显示计算机资源分配系统的系统架构实施例示意图;

图2显示终端节点使用计算芯片的电路方块实施例图;

图3显示终端节点连接网络参与计算机资源分配的实施例示意图;

图4显示具有中央系统的计算机资源分配系统的架构实施例示意图;

图5显示计算机资源分配方法的实施例的一流程图;

图6显示计算机资源分配方法的实施例的二流程图;

图7显示计算机资源分配方法的实施例的三流程图。

主要元件符号说明:

网络10需求端节点101

区块链102供应端节点:

储存器11运算系统12

终端节点13,14计算芯片131,141

计算芯片20处理单元201

记忆单元202储存单元203

任务排程单元204加密计算芯片206

接口控制单元208

需求端31中央系统33

中继节点35终端节点37

内嵌系统371处理单元373

储存单元375通讯单元377

智能合同39

中央系统节点41,42,43,44

计算机节点401,402,403,404,405,406,407,408

终端节点411,412,413,414,415,416,417,418,419,420

智能合同45

需求端71中央系统72

计算芯片一73计算芯片二74

智能合同75

步骤s501~s509计算机资源分配流程

步骤s601~s623计算机资源分配流程

步骤701~712计算机资源分配流程

【具体实施方式】

根据说明书所公开的基于计算元件的计算机资源分配方法与系统实施例,运用区块链技术与智能合同的机制,能在局域网络或是因特网上进行计算机资源分配的运作,并可提供交易与分润的机制。所述计算机资源指的是算力与储存空间的其中之一或其组合,包括可通过网络交易的可分享的计算机处理器算力与储存空间,其中计算机处理器算力可包括计算机系统中图形处理器(gpu)或中央处理器(cpu)的算力,储存空间则可指计算机系统中闪存、硬盘与随机存取内存(ram)等的储存空间。当系统运用区块链技术,参与区块链的节点之间维持着区块链彼此验证的特征,其中档案具有不可窜改性而具备不可否认的特性。

在基于计算元件的计算机资源分配方法实施例中,由计算机资源分配系统实现一个区块链平台,让使用者在平台上撰写智能合同(smartcontract),用于与各端节点中运行的软件程序沟通,特别是可以通过内建或外接方式结合终端节点的计算芯片联机智能合同,并存取区块链记录,使得参与区块链的各节点可以利用区块链技术,让参与此计算机资源分配的双方(买方与卖方)可以提出需求与供应,其中由买方提出需求与报偿,将需求与报偿以区块链技术记录在每个区块链节点上,形成分布式记录,由计算芯片实现的卖方在区块链上提出可以供应资源分配的计算机处理器算力以及/或是储存空间,并提出交易费用,通过智能合同记载在区块链上;需求端则可将需要使用的计算机资源需求通过智能合同记录在区块链上。于是,计算机资源分配系统通过各节点上的计算芯片链接智能合同,例如以一中央系统的方式,能根据买方提出的报偿条件以及卖方提出的费用进行分配,将分配结果同样写入区块链。

根据基于计算元件的计算机资源分配系统的实施例,网络架构如图1所示,参与此计算机资源分配系统的各方主要有需求端节点101以及供应端节点,供应端节点如图中显示的储存器11、运算系统12与各种形式的终端节点13,14,此例中,终端节点13,14示意表示各种物联网装置,可以通过链接所提出的计算芯片131,141成为可以参与计算机资源分配的节点。

值得一提的是,所述计算芯片的设计适用将分布于网络上不同位置的物联网装置,并将这个物联网装置成为参与计算机资源分配的终端节点,物联网装置主要是提供内建或外接的计算芯片运作时所需要的电力,必要时也提供通讯功能,而本发明所提出的分配计算机资源的系统则是使用计算芯片本身提供的算力,或在特定实施例中可以提供其中的储存空间。

所述各端装置通过网络10互联,并可参与区块链102,可成为区块链建立分布式记录的节点,并在各自的操作系统(os)中运行计算机资源分配的软件程序,具有区块链识别信息(blockchainid)以及存取区块链数据的密钥(key,如系统提供的私钥),使得彼此互联的数据符合特定格式与协议。

当需求端节点101提出计算机资源需求,包括运算需求,如处理器算力,以及/或储存空间的需求,即通过其中软件程序向区块链102发布需求,通过特定软件程序发布需求,包括提出一定的报偿(如提供加密货币与对应电子钱包地址),其他节点,如可供应储存空间的储存器11、提供算力的运算系统12,以及可提供中央处理器(cpu)与图形处理器(gpu)算力(或包括储存空间)的各式终端节点13,14,可以成为提供可分配计算机资源的供应端节点。

所述计算机资源可以为专门提供储存空间的节点,如图示的储存器11,可以实现一种云端硬盘或是网络上的磁盘阵列等;计算机资源可以为专门提供算力的节点,例如图标的运算系统12,这类系统如提供算力的计算机丛集、高速计算机、挖矿的矿机等;计算机资源可以为一般计算机系统或是具有运算能力的电子装置中的算力,或可加上储存空间,例如图示中的终端节点13,实施例为通过特定芯片或软件程序连接网络并能提供可分配计算机资源的电子装置,此例显示为电视机,可以通过外接计算芯片131的方式参与分配计算机资源的系统;如终端节点14,此例显示为电冰箱,可以通过内建的计算芯片141参与系统。特别的是,若以供应端节点为例,各种节点通过计算芯片形成一供应端节点,不论是内建或外接的计算芯片由这些物联网节点提供电力,计算芯片联机区块链,计算芯片提出可分配计算机资源,并通过其中运行的软件程序主动发布可分配计算机资源的信息,再通过智能合同记录于区块链上。

除了专门用来提供他人运算或储存需求的运算系统或各种形式的运算节点,计算芯片可独立参与分配计算机资源的系统,根据实施例,计算芯片可以内建或外接方式结合于电子装置,实施例如图2所示的计算芯片20,计算芯片20可以内建电路模块的方式,或是以外接装置连接参与这个计算机资源分配系统,如此,使用此计算芯片20的终端节点还可通过其中运行的程序取得由需求端提供的报偿。

根据本发明所提出的计算芯片20的实施方式,可以采用一种特殊应用集成电路(application-specificintegratedcircuit,asic),利用其中多种加密电路的多种逻辑组合执行各种运算需求,包括可以支持多种加密算法的加密哈希运算,如加密货币演算,除了可以方便实现在一个连接于物联网终端装置上的内建或外接元件外,更具备省电的效果,并可因为特殊应用集成电路的架构而可针对特定运算目的而设计。

图2显示为计算芯片20的主要电路单元,如设有处理智能合同来往指令的处理单元201,本身为具有可分配运算能力的处理器;包括储存运行此系统的软件程序的记忆单元202,并可以包括可以贡献为储存节点的储存单元203;通讯单元205为计算芯片20对外通讯的电路,使得计算芯片20可以独立连接网络,但仍可通过所连接的终端节点连网,而对外通讯主要是能够主动发布计算芯片20中可参与分配的算力、内存中的储存空间等,以通过智能合同记录于区块链上。计算芯片20更包括处理各种由智能合同安排任务的任务排程单元204,任务排程单元204主要是根据智能合同的指示执行运算任务,处理来往的数据流,包括响应智能合同使用计算机资源的数据证明;计算芯片20另包括执行特定目的的加密解密任务的加密计算芯片206,计算芯片提供所运行环境的加密货币执行对应的一加密算法,而其中可支持一或多种加密算法,而因此可以针对各节点支持的加密货币而执行对应的加密算法,并能根据各种运算需求执行对应的算法。例如在挖矿时,需要加密计算芯片206执行特定币别所需的演算工作,以及与特定电子装置链接的接口控制单元208,因此,当计算芯片20应用在特定加密需求时,可以控制改变当中的加密算法。

在一实施例中,所述供应端节点或需求端节点可以通过计算芯片20联机区块链,在供应端节点上,计算芯片20可通过接口控制单元208连接节点装置,相关连接接口如通用串行总线(usb)。

图3接着显示终端节点连接网络参与计算机资源分配的实施例示意图。

参与此基于计算元件的计算机资源分配系统的各终端节点例如图中显示提供可分配计算机资源的终端节点37,终端节点37可为一般计算机装置、物联网装置或一般电子装置,其中内嵌图2所述计算芯片371,以参与计算机资源分配系统。终端节点37中的计算芯片371运行一存取区块链记录与处理智能合同的软件程序,在一实施例中,计算芯片371可为内建或外接的装置,使得终端节点37通过计算芯片中运行的软件程序参与计算机资源分配。另外,终端节点37仍可包括可提供算力的处理单元373、可提供储存空间的储存单元375,以及通讯单元377。

此例中,终端节点37藉由计算芯片371可通过中继节点35连接智能合同39,通过中继节点35,终端装置37可以主动将可分配的计算机资源提供给智能合同33,由智能合同写入区块链,或由智能合同33取得分配给需求端31的对应计算机资源的指令。更者,终端节点37可通过中继节点35连接处理计算机资源分配程序的中央系统33,如图4所示的实施例。

需求端31则是可以将需求传送到中央系统33,经由中央系统33处理运算或储存需求,将需求通过智能合同39记录在区块链中,由中央系统33分配计算机资源,指派运算(或储存)任务,再将分配结果通过智能合同39记录在区块链中,由参与计算机资源分配的各终端节点37取得运算(或储存)任务后,开始执行,终端节点37通过其中(或计算芯片)运行的软件程序主动告知智能合同39算力或储存空间的使用状况,并由智能合同39进行计时,能根据报偿与费用派发报偿给提供计算机资源的各终端节点37,报偿如加密货币。

在图4所示的计算机资源分配系统的架构实施例示意图中,所提出的实施架构下,具有多个节点,多个节点参与区块链,其中可以包括一或多个需求端节点以及一或多个供应端节点,各节点将执行一软件程序,使之进行区块链认证与存取记录。

此例中,参与计算机资源分配的多个节点中,有部分节点(可称超级节点),如图中的中央系统节点41,42,43,44,可以形成一中央系统,这些超级节点相互同步所记载的信息,而其外围可以包括各式的计算机节点401,402,403,404,405,406,407,408,例如可包括专门提供储存空间的储存器与专门提供算力的运算系统,特别是通过计算芯片成为参与计算机资源分配的的节点。中央系统节点41,42,43,44可通过外围的计算机节点401,402,403,404,405,406,407,408同步信息而得知各终端节点的联机状况,并包括可分配计算机资源以及使用计算机资源的状态。

参与计算机资源分配的节点还可如图中显示最外围的终端节点411,412,413,414,415,416,417,418,419,420,这些终端节点可以为一般电子装置,,可用以连接计算芯片,藉此提供计算机资源,并通过计算机节点401,402,403,404,405,406,407,408联机中央系统节点41,42,43,44,参与计算机资源分配。

在此实施例中,可由中央系统根据区块链中记录的计算机资源需求与可分配计算机资源进行分配,分配的条件还可进一步包括供应端节点提供的费用,与需求端节点提供的报偿,进行各种计算机资源与相关信息的统合后,执行分配,需求端节点最后得到的分配结果可能包括多个供应端节点提供的不同算力或储存空间的组合。而需求端节点仍可同时为供应端节点,供应端节点也可能随时成为需求端节点。

所述各节点会联机到智能合同45,藉此存取区块链上的记录,中央系统用于计算机资源分配,智能合同45用于计算需求端节点使用计算机资源的时间,并于固定时间派发报偿(特定币别的加密货币)给供应端节点。

根据图5所示计算机资源分配方法的实施例流程,开始如步骤s501,中央系统接收各终端节点内建或外接的计算芯片的算力信息,或包括储存空间的状态,计算芯片可以直接提供中央系统各自的可分配计算机资源,或是通过连接区块链而记录在区块链上。这时,如步骤s503,中央系统节点即同步得知各计算芯片的联机状况与可分配计算机资源的状态等信息。在一实施例中,若各计算芯片的可分配计算机资源为记录在区块链上,使得中央系统可自区块链同步而获得这些信息,并可通过智能合同在区块链形成可提供算力或储存空间的节点记录。

之后,如步骤s505,中央系统接收某个需求端提出的运算(或储存)需求,在步骤s507,中央系统中运行的软件程序根据各终端节点提供算力或储存空间的状态指派任务,如运算任务,再如步骤s509,各执行运算的节点联机智能合同,当计算芯片连接智能合同时,则可由智能合同计时,并提供运算报偿。

其中执行分散演算的细节实施例可参考图6所示计算机资源分配方法的实施例流程图,在此流程之前各计算芯片已经通过智能合同提交可分配计算机资源,同时,还可设定使用这些计算机资源的费用,费用可以为特定币别的加密货币,还包括对应的电子钱包地址,通过智能合同记录在区块链上。其中,参与这个区块链的计算芯片具有区块链上的识别数据(blockchainid)以及存取数据的密钥,让计算芯片经过认证与授权后,可以将所述供应的计算机资源写入区块链。

流程一开始,计算芯片启动(步骤s601),计算芯片通过本身的通讯能力,或是通过所联接的电子装置的通讯功能联机网络,包括设定网络(步骤s603),在计算机资源分配的目的下,中央系统根据计算机资源需求的任务分配计算机资源,其中需要通过必要的认证程序(步骤s605),这些计算芯片形成一个提供算力的算力池,如矿池。

另一方面,由中央系统接收特定需求端产生的运算需求(步骤s615),中央系统自区块链取得各计算芯片的算力等信息,能根据所同步的可分配计算机资源执行分配任务(步骤s617),各计算芯片接收经过分配的运算任务(步骤s607)。

中央系统呼叫智能合同,使得智能合同开始运作,由各计算芯片根据分配的任务执行运算之后(步骤s609),并于运算完成后回报结果至智能合同(步骤s611),另一方面,中央系统连接智能合同(步骤s619),通过智能合同计算运算时间与记录使用资源(步骤s621),经过区块链节点验证后得到使用证明,得出各计算芯片可得报偿,由智能合同派送报偿(步骤s623),计算芯片即从智能合同接收报偿(步骤s613),报偿一般可以特定加密货币实现。

图7显示以中央系统运行计算机资源分配的相关流程实施例,所示流程运作于需求端71、中央系统72、计算芯片一73、计算芯片二74与智能合同75之间,流程同样可适用在储存空间分配的应用上。

图中示意以计算芯片一73与计算芯片二74表示参与计算机资源分配的多个运算节点,可为连接到各式电子装置的外接装置或是内嵌系统。例如,计算芯片一73中运行的软件程序主动通知芯片中可分配算力至中央系统72(步骤701),同样的,计算芯片二74中运行的软件程序主动通知其中算力至中央系统72(步骤702)。中央系统72可以通过智能合同72将各参与分配计算机资源的节点、费用等信息记录在区块链上。

之后,需求端71向中央系统72提供计算机资源的使用需求,并支付算力费用(步骤703),由中央系统72分配算力后,开始向各计算芯片发出运算任务(经过加密、哈希运算的题目),接收中央系统72的任务的各计算芯片执行演算。以挖矿为例,中央系统72将可分配算力联机到矿池中,并填入需求端71的需求以及相关钱包信息。根据实施例,也就是在特定任务需求下,需求端节点提出计算机资源需求,可以设定使用他人计算机资源的报偿,以及适用的特定加密货币币别,当中也可提供对应电子钱包地址。这些需求将通过智能和写入区块链。此例显示中央系统72指派运算任务至提供算力的计算芯片一73(步骤704),以及指派运算任务至计算芯片二74(步骤705)。

在各计算芯片运算中或是完成运算,计算芯片一73通过特定通讯协议向智能合同75提供运算状态,并记录于区块链(步骤706),让智能合同75开始对各样计算机资源的使用开始计时、计数,并提供报偿,如将加密货币(如专属挖矿的代币)写入计算芯片提供的钱包地址(步骤707),计算芯片一73也可将相关信息通知中央系统72(步骤708);同理,计算芯片二74也向智能合同75提供运算状态(步骤709),智能合同75同样对各样计算机资源的使用开始计时、计数,以提供报偿(步骤710),计算芯片二74同样的通知中央系统72(步骤711)。

最后,中央系统72在各计算芯片运算中或是完成运算时,接收各计算芯片的运算数据,并在集结这些运算结果后,通知需求端71(步骤712)。

是以,根据以上描述基于计算元件的计算机资源分配方法与系统的实施方式,提出可以通过网络分配计算机资源的一种共享机制,各节点应用计算芯片提交可分配计算机资源,并通过区块链技术记录当中的供应与需求,包括分配与使用的记录,使得计算机资源分配成为可实施且具有高可用度的应用。如此,通过智能合同与区块链的技术,让具有计算机资源需求的一方可以在提出报偿的前提下,让具有可分配计算机资源的一方,甚至是专门提供计算机资源的任一方能够在提供计算机资源时,又获得合理的报偿,实现整体资源共享与商业运转的生态。

虽然本发明的实施例揭露如上所述,然并非用以限定本发明,任何熟习相关技艺者,在不脱离本发明的精神和范围内,举凡依本发明权利要求所述的形状、构造、特征、方法及数量当可做些许的变更,因此本发明的专利保护范围须视本说明书所附的权利要求范围所界定者为准。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1