一种分布式计算方法、系统及计算机设备与流程

文档序号:17694623发布日期:2019-05-17 21:22阅读:175来源:国知局
一种分布式计算方法、系统及计算机设备与流程

本发明涉及区块链技术领域,特别是涉及一种分布式计算方法、系统及计算机设备。



背景技术:

随着互联网技术的发展,人们对网络安全和数据安全的重视程度越来越高,现有的区块链技术具有去中心化和信息不可篡改的特点,能够有效的提高网络和数据的安全性。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是比特币的一个重要概念,它本质上是一个去中介化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。

区块链技术日渐成熟,应用场景和用户也越来越多,但同时也显示出了如下缺点:由于区块链网络中系统节点非常多,且每个系统都要保存一份完整的数据,从而占用了过多的存储空间;在新区块的计算过程中,大部分系统节点的计算能力都没有被很好的利用,网络中只保留了计算最快的系统节点的计算结果,导致了计算资源的浪费;计算能力弱的系统节点很难计算出新的区块,资源分配不够合理。

可见,提高区块链系统节点的利用率是区块链技术需要解决的一个重要问题。



技术实现要素:

基于此,有必要针对上述的问题,提供一种分布式计算方法、系统及计算机设备。

本发明是这样实现的,一种分布式计算方法,应用于发布节点,所述方法包括以下步骤:

获取计算任务;

将所述计算任务拆分为若干个子任务并将所述子任务分发给计算节点;

接收所述计算节点返回的计算结果并向管理节点发起更新和存储请求,以更新相应节点的积分并将所述计算结果存储于相应的存储节点;

判断当前是否还存在未完成计算的子任务,若是则将所述未完成计算的子任务分发给计算节点,否则完成计算。

在其中一个实施例中,一种分布式计算方法,应用于管理节点,所述分布式计算方法包括以下步骤:

接收发布节点发送的与子任务计算结果对应的更新和存储请求,所述更新和存储请求中包含相应计算节点的ip、子任务编号以及计算结果;

更新本节点以及所述ip对应的计算节点的积分;

向存储节点发送存储请求及所述计算结果,并更新相应存储节点的积分。

在其中一个实施例中,一种分布式计算方法,应用于计算节点,所述分布式计算方法包括以下步骤:

接收发布节点发送的第一子任务,所述第一子任务由所述发布节点对计算任务进行拆分得到;

对所述第一子任务进行计算并将计算结果返回所述发布节点,返回信息中包含本节点ip。

在其中又一个实施例中,一种分布式计算方法,应用于存储节点,所述分布式计算方法包括以下步骤:

接收管理节点发送的存储请求;

判断本节点存储功能是否开启;

若所述存储功能开启,则返回存储许可并接收所述管理节点发送的计算结果存储于本节点,所述存储许可包含本节点的ip,所述计算结果由计算节点对发布节点分发的子任务计算后得到。

本发明实施例还提供了一种分布式计算系统,所述分布式计算系统包括:

发布节点,用于获取计算任务、将所述计算任务拆分为若干个子任务并将所述子任务分发给计算节点、接收所述计算节点返回的计算结果并向管理节点发起更新和存储请求,以更新相应节点的积分并将所述计算结果存储于相应的存储节点以及判断当前是否还存在未完成计算的子任务,若是则将所述未完成计算的子任务分发给计算节点,否则完成计算;

管理节点,与所述发布节点通信,用于接收发布节点发送的与子任务计算结果对应的更新和存储请求,所述更新和存储请求中包含相应计算节点的ip、子任务编号以及计算结果,用于更新本节点以及所述ip对应的计算节点的积分,还用于向存储节点发送存储请求及所述计算结果,并更新相应存储节点的积分;

计算节点,与所述发布节点通信,用于接收发布节点发送的第一子任务,所述第一子任务由所述发布节点对计算任务进行拆分得到,用于对所述第一子任务进行计算并将计算结果返回所述发布节点,返回信息中包含本节点ip;以及

存储节点,与所述管理节点通信,用于接收管理节点发送的存储请求、判断本节点存储功能是否开启,若所述存储功能开启,则用于返回存储许可并接收所述管理节点发送的计算结果存储于本节点,所述存储许可包含本节点的ip,所述计算结果由计算节点对发布节点分发的子任务计算后得到;

所述发布节点、管理节点、计算节点以及存储节点由完全一致的功能模块组成,通过开启不同的功能模块实现不同的功能,且每个开启存储功能的存储节点存储的数据完全一致。

本发明实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项实施例所述分布式计算方法的步骤。

本发明涉及区块链技术领域,特别是涉及一种分布式计算方法、系统及计算机设备。所述方法应用于发布节点包括以下步骤:获取计算任务;将所述计算任务拆分为若干个子任务并将所述子任务分发给计算节点;接收所述计算节点返回的计算结果并向管理节点发起更新和存储请求,以更新相应节点的积分并将所述计算结果存储于相应的存储节点;判断当前是否还存在未完成计算的子任务,若是则将所述未完成计算的子任务分发给计算节点,否则完成计算。本发明通过发布节点对计算任务进行拆分并分发,利用计算节点完成计算,通过管理节点协调计算过程,计算结果存储于存储节点,采用分布式算法,各节点功能化联合参与,提高了计算效率及网络节点的利用率。

附图说明

图1为一个实施例中提供的一种分布式计算方法的应用环境图;

图2为一种分布式计算方法应用于分布节点的流程图;

图3为图2中步骤s101之后的步骤流程图;

图4为图2中步骤s103的具体流程图;

图5为一种分布式计算方法应用于管理节点的流程图;

图6为图5中步骤s401之前的步骤流程图;

图7为一种分布式计算方法应用于计算节点的流程图;

图8为图7中步骤s602之后的步骤流程图;

图9为一种分布式计算方法应用于存储节点的流程图;

图10为一个实施例中提供的一种分布式计算系统的时序图;

图11为一个实施例中提供的一种分布式计算系统的节点结构图;

图12为一个实施例中提供的一种计算机设备的内部结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。

图1为一个实施例中提供的一种分布式计算方法的应用环境图,如图1所示,在该应用环境中,包括发布节点110、管理节点120、计算节点130以及存储节点140。

在本发明中,发布节点110、管理节点120、计算节点130以及存储节点140对应的硬件形式可以相同也可以不同,可以是智能手机、平板电脑、笔记本电脑、台式计算机等一切具有联网、接收、发送、计算和存储能力的设备,还可以是具备大数据量计算的传统服务器或者云服务器,例如云数据库、云存储和cdn等基础云计算服务的服务器。需要理解的是,上述各个节点在软、硬件上并没有实质上的不同,区别仅仅在于一个计算任务中各个节点所发挥的具体作用不同,而这种作用除存储以外对于硬件并无任何特殊要求。而实际上,一般的通常联网设备,如以上智能手机、平板电脑、笔记本电脑、台式计算机均具备基本的存储的能力,即对于一般数据量的计算任务而言,上述各个节点在对应的硬件是等同的。在本发明中,各节点具有相同的内部结构,需要理解,这里的结构指功能化的模块而非硬件组成,具体如图11所示。

如图2所示,在一个实施例中,提出了一种分布式计算方法,本实施例以该方法应用于上述图1中的发布节点110来举例说明,具体可以包括以下步骤:

步骤s101,获取计算任务。

在本发明中,计算任务可以是人工输入也可以是从网络中其他节点获取;需要理解的是,本发明中计算任务泛指一切需要计算机进行运算的任务,不等同于数学计算。由于计算机是通过高低电平实现0和1的运算,而所有在计算机上的计算任务都是以高低电平或者0、1的逻辑形式进行的,故本发明中的计算任务不指代任何具体形式的任务,仅仅指需要计算机进行运算才能完成的任务。

步骤s102,将所述计算任务拆分为若干个子任务并将所述子任务分发给计算节点。

在本发明中,计算任务的拆分可以采用任意一种现有拆分方法,拆分规则也可以自行设定,由于针对的计算任务的大小不同,拆分采用的算法也不同,拆分得到的结果也可以不同,但是本发明的主要创新点在于对于拆分得到的数据怎么处理,拆分的实现可以参考现有技术,本发明对此不再赘述。

在本发明中,将拆分得到的子任务分发给计算节点,需要理解的是,由于任务及拆分算法的不同,最终得到的子任务数量也不同,因此分发子任务可以是全部分发也可发是部分分发,优选地,按子任务数据量的大小或计算难度排序后分发,则计算耗时较长的子任务可以优选处理,避免了等待,当然,这是在计算节点小于子任务数量的情况下的处理,当子任务数量小于网络中的计算节点时不存在该问题。

在本发明中,需要理解的是,对子任务进行分发时,分发的信息中除了包含子任务数据外,还应该包括:子任务数据编号,用于记录子任务在整个计算任务中位置信息,用于结果恢复;本节点ip,记录了本节点的身份信息,便于计算结果精确在返回本节点,当然,也可以指定结果返回节点,可按需要设置。

步骤s103,接收所述计算节点返回的计算结果并向管理节点发起更新和存储请求,以更新相应节点的积分并将所述计算结果存储于相应的存储节点。

在本发明中,计算节点通过子任务中携带的本节点ip可以将计算结果返回本节点,返回的信息中对应地包含了计算节点的ip;本节点接收到计算结果后向管理节点发起积分更新以及计算结果存储请求,并更新相应节点的积分,以及将计算结果存储于存储节点。

在本发明中,各节点通过计算任务的参与获取积分(与现有区块链技术无异,属于现有技术),一个完整的计算任务至少包括发布节点、计算节点、管理节点以及存储节点的参与;需要说明的是,当一个节点具备多种功能时,其可以同时完成多种功能,例如发布节点同时也可以是管理节点,但需要理解,将各节点进行功能分类的目的在于提高计算效率以及节点利用率,同一个节点在同一个计算任务中兼具多种功能并不是最优选择,但本发明对其组合形式不作限制。

步骤s104,判断当前是否还存在未完成计算的子任务,若是则将所述未完成计算的子任务分发给计算节点,否则完成计算。

在本发明中,未完成的子任务可以未分发的子任务,也可以是已分发但未接收到返回结果的子任务。对于后者,对其重新分发的意义在于充分利用计算速度较快的计算节的计算资源,尽可能地加速计算任务的完成。当然,作为优化,若存在同一个子任务多次分发的情况,当一个计算节点得出结果后,需要通过计算该子任务的其它计算节点停止该子任务的计算,此属于优化处理的一种可选方式。

本发明实施例提供了一种分布式计算方法,所述方法通过发布节点对计算任务进行拆分并分发,利用计算节点完成计算,通过管理节点协调计算过程,计算结果存储于存储节点,采用分布式算法,各节点功能化联合参与,提高计算效率的同时也提高了网络节点的利用率。

在本发明一个实施例中,如图3所示,步骤s101之后还包括以下步骤:

步骤s201,向管理节点发送验证请求,所述验证请求中包含发布节点的ip以及与所述计算任务对应的算法编号。

在本发明中,通过向管理节点发送验证请求,验证的内容包括但不限于本节点有无发起计算任务的权限、系统的联网检查、计算任务的算法验证等内容,其中,节点被记入了黑名单的情况下可以限制该节点的任务发布;系统的联网检查主要检查当前系统是否具备进行分布式计算的条件,例如开放的空闲的计算节点的数量等,如若不满足任务发起条件可以反馈给任务发起节点;算法验证主要是验证即将发布的计算任务需要的算法是否符为各计算节点支持。验证通过即可发布相应的计算任务。

步骤s202,接收所述管理节点返回的验证结果,所述验证结果包含发布节点的ip以及与所述算法编号对应的算法编码。

在本发明中,根据管理节点返回的验证结果可以确定是否验证通过,验证结果中包括但不限于本节点的ip、管理节点的ip、算法编号对应的算法编码。由于任务进行的动力在于积分获取,故一个任务中,优选为一个管理节点完成协调管理的任务,当然,具体视数据量大小而定,当积分规则细化到第一个操作时,任意过程均可由系统中具有该功能的节点完成,不需要指定对应的节点。

本发明实施例提供了一种分布式计算方法,在任务发布之前还包括向管理节点进行任务发布前的条件验证,以确定任务发布的条件是否满足,可以保证任务发布及运算的顺利进行。

在本发明一个实施例中,如图4所示,步骤s103即接收所述计算节点返回的计算结果并向管理节点发起更新和存储请求,以更新相应节点的积分并将所述计算结果存储于相应的存储节点,具体包括以下步骤:

步骤s301,接收到所述计算节点返回的任一所述子任务的计算结果,判断该计算结果是否已经存在。

在本发明中,如前文所述,为了充分利用具有更高运算速度的计算节点的计算资源,允许在其完成第一个任务的计算后重新分配计算任务,故每收到一个子任务的计算结果都需要验证该结果是否已存在;作为激励,运算较慢的节点可以不给予或者少给予相应的积分。

步骤s302,若所述计算结果已经存在,则向完成对应的计算节点重新分发任务。

在本发明中,即使通过验证得知该计算结果已经存在,即证明另有其它计算节点的计算速度以此计算节点之上,但是在计算任务全部完成之前,当前计算节点的计算速度都不是最慢的,相对于部分计算节点,当前计算节点仍然具有优势,可以继续利用。

步骤s303,若所述计算结果不存在,则向管理节点发起积分更新请求以更新相应计算节点以及本节点的积分,向所述管理节点发送存储请求以使所述管理节点将所述计算结果存储于相应的存储节点中。

在本发明中,右某个计算节点计算出的结果为对应子任务的第一个结果时,则可以确认该节点完成了对应子任务的计算任务,可以给予积分奖励;奖励的方式是通过管理节点进行更新,产生积分更新区块。在本发明中,当得到一个计算结果后,需要将该结果存储于存储节点中,存储的实现方式实际可以自由设定,本实施例给出的仅仅是其中一种方式,即通过管理节点的协调实现计算结果的存储于存储节点中。实际上,在完成步骤s303还可以给该节点再次分配计算任务,以充分利用其计算资源,此属于在本发明已有思路上的同等优化,并不违背本发明的设计思路。

本发明实施例提供了一种分布式计算方法,发布节点每接收到一个计算结果,都需要判断该计算结果是否已经存在,并根据判断结果进行后续处理,通过这种方式可以充分利用计算速度较快的计算节点的计算资源,提高计算的效率。

如图5所示,在一个实施例中,提出了一种分布式计算方法,本实施例以该方法应用于上述图1中的管理节点120来举例说明,具体可以包括以下步骤:

步骤s401,接收发布节点发送的与子任务计算结果对应的更新和存储请求,所述更新和存储请求中包含相应计算节点的ip、子任务编号以及计算结果。

在本发明中,管理节点是根据发布节点的请求进行积分更新的,管理节点对相应的计算节点的积分进行更新,依据至少包括请求中计算节点的ip,当然,也可以结合具体任务给出,例如还可以包括计算时长,对应的算法难度等,从而给予相应的积分。

步骤s402,更新本节点以及所述ip对应的计算节点的积分。

在本发明中,计算节点积分的更新是从管理节点本地开始的,但是由于区别链网络的特性,更新后的数据最终会同步到整个网络中,实现共享。

步骤s403,向存储节点发送存储请求及所述计算结果,并更新相应存储节点的积分。

在本发明中,管理节点还需要向存储节点发送请求,根据存储节点的反馈信息确定向哪一个存储节点送发对应的计算结果。在本发明中,计算结果存储于存储节点本地,但是由于区块链网络的特性,完成存储的信息会更新到整个网络当中,可以共享(不等于将数据存储于整个网络中)。需要注意的一点是,由于网络时延,存储数据更新也不是实时的,会存在某个存储节点在某一时刻的区块链与其他节点不在同一条链上的情况(比如原来是a-b-c,每个区块都应该有正确的父区块,原本正常节点应该在之后更新为a-b-c-d,但是由于延迟或者其他原因,d和e的父区块都是c,这时候就出现了两条链,分别是a-b-c-e,和a-b-c-d,这时候节点应该启用共识算法,即选择长链,抛弃短链,比如在之后的一段时间一条链变成了a-b-c-e-f-g-h,另一条变成了a-b-c-d-x,则a-b-c-d-x会被抛弃)。需要理解的是,本发明中“向存储节点发送存储请求及所述计算结果”,并不一定是在一个步骤内完成的,允许该过程分步骤完成。

本发明实施例提供了一种分布式计算方法,该算法应用于管理节点包括积分更新过程以及计算结果存储过程,通过上述步骤,完成了计算过程中积分的更新以及计算结果的存储,使得计算结果能够保存于区别链网络中,达到分布式计算且共享的目的。

在本发明一个实施例中,如图6所示,步骤s401,接收发布节点发送的与子任务计算结果对应的更新和存储请求,所述更新和存储请求中包含相应计算节点的ip、子任务编号以及计算结果,之前还包括以下步骤:

步骤s501,接收发布节点发出的验证请求,所述验证请求中包含发布节点的ip以及与所述计算任务对应的算法编号。

在本发明中,通过验证发布节点的ip确定发布节点是否符合任务发布的条件,对于列入黑名单的节点可以限制其任务发布;算法验证主要是验证即将发布的计算任务需要的算法是否符为各计算节点支持。验证通过即可发布相应的计算任务。

步骤s502,判断所述ip是否有效。

在本发明中,判断可以通过搜索区块链网络中信誉记录从而确定该ip对应的节点是否满足任务发布的条件;当然,也可以是通过其它方式进行判断,本发明对此不作限制。

步骤s503,若所述ip有效,则根据所述算法编号加载对应的算法程序,生成相应的算法编码并返回所述发布节点。

本发明实施例提供了一种分布式计算方法,管理节点在任务发布之前验证发布节点任务发布的条件,以确定任务发布节点是否具有任务发布资格,可以保证任务发布及运算的顺利进行。

如图7所示,在一个实施例中,提出了一种分布式计算方法,本实施例以该方法应用于上述图1中的计算节点130来举例说明,具体可以包括以下步骤:

步骤s601,接收发布节点发送的第一子任务,所述第一子任务由所述发布节点对计算任务进行拆分得到。

在本发明中,计算节点接收任务发布节点分发的子任务,可以理解,与子任务一同接收的还包括发布节点的ip,用于返回相应的计算结果。

步骤s602,对所述第一子任务进行计算并将计算结果返回所述发布节点,返回信息中包含本节点ip。

在本发明中,计算节点完成计算后需要返回计算结果,并返回本节点的ip,用于更新本节点的积分。

本发明实施例提供了一种分布式计算方法,计算节点通过获取子任务并对子任务进行计算,计算结果返回发布节点,通过这种方法进行任务进行,分散了计算压力,采用多节点同时进行计算的分布式计算方式,充公利用了各个节点的计算能力,提高计算效率的同时,提高了区块链网络节点的利用率。

在本发明一个实施例中,如图8所示,步骤s602之后还包括以下步骤:

步骤s701,接收所述发布节点发布的第二子任务,所述第二子任务由所述发布节点对计算任务进行拆分得到,且所述第一、二子任务为同属于一个计算任务的不同子任务。

在本发明中,还可以包括对第二子任务的计算,如本发明前文所述,第二子任务可以是已经分配给其它计算节点但还未计算出结果的子任务,也可以是还未进行分配的子任务;本发明是针对一个计算任务的流程而言的,第一、二子任务同属于一个计算任务。

步骤s702,对所述第二子任务进行计算并将计算结果返回所述发布节点,返回信息中包含本节点ip。

在本发明中,与计算第一子任务相同,需要返回计算结果以及本节点的ip,用于更新本节点的积分;需要理解的是,虽然本发明仅仅给出了第二子任务的计算,实际上可以连续进行多个子任务的计算,其具体过程与计算第二子任务时相同,本发明不再赘述。

本发明实施例提供了一种分布式计算方法,计算节点通过获取子任务并对子任务进行计算,计算结果返回发布节点,通过这种方法进行任务进行,分散了计算压力,采用多节点同时进行计算的分布式计算方式,充公利用了各个节点的计算能力,提高计算效率的同时,提高了区块链网络节点的利用率。

如图9所示,在一个实施例中,提出了一种分布式计算方法,本实施例以该方法应用于上述图1中的存储节点140来举例说明,具体可以包括以下步骤:

步骤s801,接收管理节点发送的存储请求。

在本发明实施例中,存储节点接收管理节点的存储请求并根据存储请求判断当前能否进行存储,请求中至少包括数据量的大小。

步骤s802,判断本节点存储功能是否开启。

在本发明中,由于存储节点的存储功能是可以关闭的(由用户或者系统进行管理),存储节点在接收到存储请求后需要判断存储功能是否开启。

步骤s803,若所述存储功能开启,则返回存储许可并接收所述管理节点发送的计算结果存储于本节点,所述存储许可包含本节点的ip,所述计算结果由计算节点对发布节点分发的子任务计算后得到。

在本发明中,若存储功能开启且本节点满足对计算结果进行存储的条件,则向管理节点回传本节点的ip,使管理节点通过该ip向本节点发送数据,存储节点接收数据后保存于本地。

本发明实施例提供了一种分布式计算方法,存储节点通过接收管理节点的存储请求判断本节点是否具备存储条件,并根据判断结果确定是否进行相应数据的存储。通过存储节点的设置,可以减小系统数据存放的空间占用量,节约上节点存储空间,提高利用率。

在本一个实施例中,提出了一种分布式计算系统,所述分布式计算系统包括:

发布节点,用于获取计算任务、将所述计算任务拆分为若干个子任务并将所述子任务分发给计算节点、接收所述计算节点返回的计算结果并向管理节点发起更新和存储请求,以更新相应节点的积分并将所述计算结果存储于相应的存储节点以及判断当前是否还存在未完成计算的子任务,若是则将所述未完成计算的子任务分发给计算节点,否则完成计算;

管理节点,与所述发布节点通信,用于接收发布节点发送的与子任务计算结果对应的更新和存储请求,所述更新和存储请求中包含相应计算节点的ip、子任务编号以及计算结果,用于更新本节点以及所述ip对应的计算节点的积分,还用于向存储节点发送存储请求及所述计算结果,并更新相应存储节点的积分;

计算节点,与所述发布节点通信,用于接收发布节点发送的第一子任务,所述第一子任务由所述发布节点对计算任务进行拆分得到,用于对所述第一子任务进行计算并将计算结果返回所述发布节点,返回信息中包含本节点ip;以及

存储节点,与所述管理节点通信,用于接收管理节点发送的存储请求、判断本节点存储功能是否开启,若所述存储功能开启,则用于返回存储许可并接收所述管理节点发送的计算结果存储于本节点,所述存储许可包含本节点的ip,所述计算结果由计算节点对发布节点分发的子任务计算后得到;

所述发布节点、管理节点、计算节点以及存储节点由完全一致的功能模块组成,通过开启不同的功能模块实现不同的功能,且每个开启存储功能的存储节点存储的数据完全一致。

在本发明中,各个节点通过网络相互通信,在一个计算任务中发挥不同的功能,共同协作完全计算任务,需要理解,以上仅仅给出了各节点完成计算任务时的主要步骤,并不等于全部步骤,具体可以包含的步骤参考本发明各实施例中对于步骤的解释,本系统的完整工作时序图如图10所示,其具体过程说明如本发明前文各实施例所述,此处不再赘述。

在本发明中,如图11所示,各个节点均包括相互连接的用户信息模块、信誉模块、算法社区模块、计算模块、积分模块和存储模块。其中,用户信息模块用于存储用户信息以及验证用户是否登录,包括ip管理单元和session(会话控制)管理单元,所述的ip管理单元,用于存储网络中所有节点的公网ip和存储模式状态,并实时与其他节点同步ip信息,所述的session管理单元,用于存储本地用户的活跃状态和验证用户的登录状态和连接状态;信誉模块,用于检查节点的系统版本号以及检测节点的本地数据是否被篡改,包括系统版本管理单元和信誉管理单元,所述的系统版本管理单元,用于检测本节点的版本号是否与网络中的其他节点保持一致,信誉管理单元,用于记录系统用户的信誉值和信誉扣除明细;算法社区模块,用于节点本地分布式算法版本的检测,更新与自定义算法的上传,包括版本检测单元和自定义算法单元,版本检测单元用于检测节点本地的算法与网络中其他节点的一致性,自定义算法单元用于提供用户上传自定义算法的接口;计算模块,用于分布式计算任务的分配和执行,包括任务分发单元和任务接收单元,任务分发单元用于执行子任务分配算法和子任务计算结果统计,任务接收单元用于接收和计算分发节点发起的计算请求;积分模块,用于给完成分布式计算任务的节点积分奖励,以提高用户活跃度;存储模块,用于存储系统节点的积分,包括依次连接的选通单元和数据存储单元,选通单元用于选择是否开启节点的数据存储功能,如果选通单元开启,则数据存储单元可以工作,如果选通单元关闭,则数据存储单元不工作,数据存储单元,用于存储系统节点的积分,信誉信息以及分布式计算中产生的计算结果。

在本发明实施例中,需要理解的是,本发明中各个节点是通过节点内开启不同的功能模块实现的,在不同的计算任务中,由于开启的功能模块不同,其发挥的具体作用则不同,即本发明中系统内的所有节点本质上是相同的,因任务的需要通过开启不同的模块实现不同的功能,从而协作完成一个计算任务。

在本发明实施例提供了一种分布式计算系统,该系统内各个节点均设置有相同的功能模块,在一个计算任务中,通过开启不开功能模块发挥不同的作用,从而协作完成任务,充分调用了系统内的计算资源,提高了节点利用率,也大大提高了计算效率。

图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的发布节点110、管理节点120、计算节点130或者存储节点140。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本发明提供的分布式计算方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本发明任一项实施例提供的或者其组合得出的分布式计算方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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