用于P2P网络的计算资源查找方法及装置与流程

文档序号:16390220发布日期:2018-12-22 11:19阅读:180来源:国知局
用于P2P网络的计算资源查找方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种用于p2p网络的计算资源查找方法及装置。

背景技术

随着人工智能的发展,对于p2p网络的算力的需求日益上涨,中心化的算力提供商收取高额费用,而一些闲置的算力资源因为太分散无法被利用,正在被浪费。因此,对p2p网络的中的计算资源(即算力)进行查找,已成为当前p2p网络相关的重要研究课题之一。

现有技术中,在p2p网络中查找计算资源的方式为使用算力的计算平台或基于chord来实现的服务发现,前者通常都需要应用中心化的服务平台,如bonic等,需要同一到平台去注册来使用算力。后者基于chord来查找算力服务,通过全节点去形成环状网络,且每个节点要同时维护前驱节点和后继节点,防止整个链断裂来实现计算资源能够被查找。

然而,现有技术中使用算力的计算平台的方式会造成算力的浪费,而基于chord来查找算力服务的方式会造成每个节点为了维护环状网络需要付出很大网络开销,且在查找情况下需要在整个环状网络中进行依次查询,甚至可能需要进行n次(n等于环状网络中节点的数量)。



技术实现要素:

针对现有技术中的问题,本发明提供一种用于p2p网络的计算资源查找方法及装置,能够有效减少计算资源的查找步骤,提高计算资源的查找效率。

为解决上述技术问题,本发明提供以下技术方案:

第一方面,本发明提供一种用于p2p网络的计算资源查找方法,所述计算资源查找方法包括:

接收计算资源查找请求,其中,所述计算资源查找请求中包含有需求算力;

根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,其中,所述预设算力由计算节点基于所述rfc7374协议在所述目标p2p网络中发布而得。

一实施例中,所述计算资源查找方法还包括:

在目标p2p网络中注册用于提供计算资源的计算节点;

基于所述rfc7374协议在目标p2p网络中发布所述计算节点对应的计算资源。

一实施例中,所述在目标p2p网络中注册用于提供计算资源的计算节点,包括:

判断加入所述目标p2p网络中的计算节点的加入位置是否位于nat设备之后;

若是,则获取所述计算节点对应的中继地址,以及,将该中继地址注册到所述目标p2p网络中;

否则,将所述计算节点的ip地址注册到所述目标p2p网络中。

一实施例中,所述获取所述计算节点对应的中继地址,包括:

经由目标p2p网络中的服务发现模块,查找一个所述计算节点对应的turn服务;

以及,在查找到的所述turn服务中所述计算节点对应的获取中继地址。

一实施例中,所述基于rfc7374协议在目标p2p网络中发布所述计算节点对应的计算资源,包括:

在所述rfc7374协议的多叉树中选取初始层级,其中,所述初始层级为除多叉树的首个层级之外的任一层级;

确定所述计算节点的预设算力在该初始层级的空间位置,并生成该计算节点的第一资源id;

将对应的第一资源id及预设算力发布至对应的空间位置中,以及,判断所述预设算力是否满足第一预设条件,若是,则将所述预设算力存储在所述初始层级中。

一实施例中,所述计算资源查找方法还包括:

若所述预设算力未满足第一预设条件,则根据第一预设规则向除所述初始层级外的其他层级发送算力存储请求。

一实施例中,所述根据第一预设规则向除所述初始层级外的其他层级发送算力存储请求,包括:

若所述计算节点的预设算力值为对应空间位置的中当前最大值、最小值或边界值,则向所述初始层级的下一层发送算力存储请求,并将预设算力存储在所述初始层级的下一层中;

若所述计算节点的预设算力值为对应的空间位置中的唯一值或所述初始层级的上一层的边界值,则向所述初始层级的上一层发送算力存储请求,并将预设算力存储在所述初始层级的上一层中。

一实施例中,所述根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,包括:

在rfc7374协议的多叉树中选取初始层级,其中,所述初始层级为除多叉树的首个层级之外的任一层级;

确定所述需求算力在初始层级的空间位置,并生成所述需求算力对应的第二资源id;

以及,根据所述第二资源id在初始层级的空间位置查找对应的预设算力。

一实施例中,所述计算资源查找方法还包括:

若根据所述第二资源id在初始层级的空间位置未查找到对应的预设算力,则根据第二预设规则向除所述初始层级外的其他层级发送查询请求。

一实施例中,所述根据第二预设规则向除所述初始层级外的其他层级发送查询请求,包括:

判断根据所述第二资源id在初始层级的空间位置查找对应的预设算力的查询结果中是否有后继结点;

若是,则在所述初始层级的上一层的空间位置继续查找对应的预设算力;

若否,则在所述初始层级的下一层的空间位置继续查找对应的预设算力。

一实施例中,所述计算资源查找方法还包括:

若所述需求算力为所述初始层级的空间位置的边界值,则确定所述目标p2p网络中不存在所述需求算力对应的预设算力,并停止查找。

第二方面,本发明提供一种用于p2p网络的计算资源查找系统,所述计算资源查找系统包括:

计算资源查找请求接收模块,用于接收计算资源查找请求,其中,所述计算资源查找请求中包含有需求算力;

计算资源查找模块,用于根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,其中,所述预设算力由计算节点基于所述rfc7374协议在所述目标p2p网络中发布而得。

一实施例中,所述计算资源查找系统还包括:

计算节点注册模块,用于在目标p2p网络中注册用于提供计算资源的计算节点;

计算资源发布模块,用于基于所述rfc7374协议在目标p2p网络中发布所述计算节点对应的计算资源。

第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述用于p2p网络的计算资源查找方法的步骤。

第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述用于p2p网络的计算资源查找方法的步骤。

由上述技术方案可知,本发明提供一种用于p2p网络的计算资源查找方法,通过接收计算资源查找请求,其中,所述计算资源查找请求中包含有需求算力;根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,其中,所述预设算力由计算节点基于所述rfc7374协议在所述目标p2p网络中发布而得,能够有效减少计算资源的查找步骤,提高计算资源的查找效率,不仅能够对p2p网络中计算资源进行统筹利用,而且能够极大的缩短p2p网络中计算资源需求方的查找周期,提高算力资源利用率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的实施例中的用于p2p网络的计算资源查找方法的流程示意图。

图2为本发明的redir树的举例示意图。

图3为本发明的redir树中的0-2层级的树节点的编号示意图。

图4为本发明的在层级0和第层级1的redir树中为树节点分配的间隔的示意图。

图5为本发明的用于p2p网络的计算资源查找方法中步骤a00和b00的流程示意图。

图6为本发明的用于p2p网络的计算资源查找方法中步骤a00的流程示意图。

图7为本发明的用于p2p网络的计算资源查找方法中步骤a02的流程示意图。

图8为本发明的用于p2p网络的计算资源查找方法中步骤b00的流程示意图。

图9为本发明的用于p2p网络的计算资源查找方法中步骤200的流程示意图。

图10为本发明的实施例中的用于p2p网络的计算资源查找系统的结构示意图。

图11为本发明的实施例中的用于p2p网络的计算资源查找系统的另一种结构示意图。

图12为本发明的实施例中的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的实施例提供一种用于p2p网络的计算资源查找方法的具体实施方式,参见图1,所述用于p2p网络的计算资源查找方法具体包含有如下内容:

步骤100:接收计算资源查找请求,其中,所述计算资源查找请求中包含有需求算力。

在步骤100中,用于p2p网络的计算资源查找系统接收计算资源查找请求,其中,所述计算资源查找请求中包含有需求算力。可以理解的是,所述用于p2p网络的计算资源查找系统可以体现为一种p2p网络的服务器,所述用于p2p网络的计算资源查找系统的硬件组成中也可以包括终端设备,所述终端设备可以具有显示功能。具体地,所述终端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。且所述第一终端和第二终端均为前述的终端类型中的一种。

所述服务器可以与所述终端设备进行通信。所述服务器与所述终端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括tcp/ip协议、udp/ip协议、http协议、https协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的rpc协议(remoteprocedurecallprotocol,远程过程调用协议)、rest协议(representationalstatetransfer,表述性状态转移协议)等。

可以理解的是,所述需求算力为算力服务需求方所需要的算力,并在计算资源查找请求附加该需求算力,并向所述目标p2p网络对应的服务器(即所述用于p2p网络的计算资源查找系统)发送该计算资源查找请求,其中,所述算力即为所述计算资源的量化表述。

步骤200:根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,其中,所述预设算力由计算节点基于所述rfc7374协议在所述目标p2p网络中发布而得。

在步骤200中,用于p2p网络的计算资源查找系统接收所述算力服务需求方发送的计算资源查找请求,并读取该计算资源查找请求,得到该计算资源查找请求对应的需求算力,而后根据该需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力。可以理解的是,所述预设算力为目标p2p网络中的某一计算节点所能够提供的计算资源,且该预设算力为对应的计算节点基于所述rfc7374协议在所述目标p2p网络中发布而得。

在上述描述中,所述rfc7374协议具体为记载有基本的互联网通信协议及互联网标准的rfc(requestforcomments)文档中的一种,其中,rfc文档为一系列以编号排定的文件,且该文件收集了有关互联网相关信息,以及unix和互联网社区的软件文件。基本的互联网通信协议都有在rfc文件内详细说明。rfc文件还额外加入许多的论题在标准内,例如对于互联网新开发的协议及发展中所有的记录。而rfc7374协议文档的公布内容如表1所示。

表1

所述rfc7374文档公开了用于定位和发现资源的服务发现应用(重载reload)(servicediscoveryusageforresourcelocationanddiscovery(reload)),其中,资源定位和发现(重载)rfc6940文档没有将通用服务发现机制定义为基本协议的一部分,因此,为解决该问题,所述rfc7374文档定义了如何应用递归分布式会合redir(recursivedistributedrendezvous)服务发现机制在reload覆盖网络,以提供通用的服务发现机制,其中,所述redir服务以树状结构的形式体现,即redir树,redir树为提供特定服务的节点的树结构,节点使用eload存储和获取请求将redir树嵌入到reload覆盖网络中。redir树中的每个树节点都在树中的某个层级上。redir树的根节点位于redir树的层级0。根节点的子节点位于层级1。层级1的树节点的子节点位于层级2,以此类推。redir树分支系数b。各层级在redir树中的最多的空间为b^层级树节点。redir树中的每个树节点都由一对(lvl,j)唯一标识,其中lvl是redir树中的一个层级,j是树节点(从左起)在该层级的位置。

参见图2所示的一个redir树的例子,它的分支系数为2,覆盖层的标识符空间大小为16。redir树中的每一个树节点都显示为两个横线,中间是一个竖线('|')。水平线表示每个节点负责的两个间隔。在第0层级,只有一个节点(0,0)负责两个间隔,它们一起覆盖重新加载覆盖实例的整个标识符空间。在层级1中,有两个节点(1,0)和(1,1),每个节点负责reload覆盖网络的标识符空间的一半。在层级2中,有四个节点。它们每个都拥有四分之一的标识符空间。在层级3中,有8个节点,每个节点负责1/8的标识符空间,图3显示了如何在redir树中对0-2层级的树节点进行编号,以及,图4显示了如何在层级0和第层级1的redir树中为树节点分配间隔。例如,在层级0的单个树节点(0,0)被划分为两个间隔,每个间隔覆盖了标识符空间的一半。这两个区间分别为[0,7]和[8,15],另外,上述的所有示例都是简化的,在真正的redir树中,默认的redir分支因子是10,这意味着每个树节点被分割成10个间隔,每个树节点有10个子节点。在这种redir树中,层级1包含10个节点和100个间隔。层级2包含100个节点和1000个的间隔,层级3包含1000个节点和10000个间隔,等等。此外,真正的reload覆盖网络中redir树的标识符空间大小最低为2^128。

从上述描述可知,本发明的实施例提供一种用于p2p网络的计算资源查找方法,能够有效减少计算资源的查找步骤,提高计算资源的查找效率,不仅能够对p2p网络中计算资源进行统筹利用,而且能够极大的缩短p2p网络中计算资源需求方的查找周期,提高算力资源利用率。

在一种具体实施方式中,参见图5,本发明的用于p2p网络的计算资源查找方法中还包含有步骤a00和b00,且该步骤a00和b00可以在步骤100之前执行,也可以在随时有计算节点加入目标p2p网络时执行,所述步骤a00和步骤b00具体包括如下内容:

步骤a00:在目标p2p网络中注册用于提供计算资源的计算节点。

步骤b00:基于所述rfc7374协议在目标p2p网络中发布所述计算节点对应的计算资源。

在上述描述中,参见图6,所述步骤a00具体包括如下内容:

步骤a01:判断加入所述目标p2p网络中的计算节点的加入位置是否位于nat设备之后。可以理解的是,所述nat设备为网络地址转换(networkaddresstranslation)设备。

若是,则执行步骤a02;否则执行步骤a03。

步骤a02:获取所述计算节点对应的中继地址,以及,将该中继地址注册到所述目标p2p网络中。

步骤a03:将所述计算节点的ip地址注册到所述目标p2p网络中。

在步骤a02中,参见图7,所述步骤a02具体包括如下内容:

a02-1:经由目标p2p网络中的服务发现模块,查找一个所述计算节点对应的turn服务;

在上述描述中,所述turn服务为turn协议(rfc5766),如果一台主机处于nat后面,那么在一定条件下两台主机之间无法进行通讯。在这种条件下,那么使用中继服务提供通讯是有必要的。这个规范定义了一个名为turn(使用中继穿越nat)的协议,它允许一台主机使用中继服务与对端进行报文传输。turn不同于其它中继协议在于它允许客户机使用一个中继地址与多个对端同时进行通讯。turn协议也是ice(交互式连接建立)协议的组成部分,也可以单独使用。

a02-2:在查找到的所述turn服务中所述计算节点对应的获取中继地址。

在上述描述中,参见图8,所述步骤b00具体包括如下内容:

步骤b01:在所述rfc7374协议的多叉树中选取初始层级,其中,所述初始层级为除多叉树的首个层级之外的任一层级;

步骤b02:确定所述计算节点的预设算力在该初始层级的空间位置,并生成该计算节点的第一资源id;

步骤b03:将对应的第一资源id及预设算力发布至对应的空间位置中,以及,判断所述预设算力是否满足第一预设条件,若是,则执行步骤b04;

否则执行步骤b05。

步骤b04将所述预设算力存储在所述初始层级中。

步骤b05:根据第一预设规则向除所述初始层级外的其他层级发送算力存储请求。

可以理解的是。所述多叉树即为前述的redir树。

在所述步骤b05中,若所述计算节点的预设算力值为对应空间位置的中当前最大值、最小值或边界值,则向所述初始层级的下一层发送算力存储请求,并将预设算力存储在所述初始层级的下一层中;若所述计算节点的预设算力值为对应的空间位置中的唯一值或所述初始层级的上一层的边界值,则向所述初始层级的上一层发送算力存储请求,并将预设算力存储在所述初始层级的上一层中。

可以理解的是,第一预设条件与所述第一预设规则相应,即,判断所述预设算力是否满足第一预设条件为:判断所述计算节点的预设算力值是否不是对应空间位置的中当前最大值、最小值或边界值、或者,所述计算节点的预设算力值为对应的空间位置中的唯一值或所述初始层级的上一层的边界值中的任意一个。

从上述描述可知,本发明的实施例提供一种用于p2p网络的计算资源查找方法,通过在目标p2p网络中注册用于提供计算资源的计算节点,以及基于所述rfc7374协议在目标p2p网络中发布所述计算节点对应的计算资源,能够有效减少计算资源的查找步骤,提高计算资源的查找效率,不仅能够对p2p网络中计算资源进行统筹利用,而且能够极大的缩短p2p网络中计算资源需求方的查找周期,提高算力资源利用率。

在一种具体实施方式中,参见图9,本发明的用于p2p网络的计算资源查找方法中步骤200具体包括如下内容:

步骤201:在rfc7374协议的多叉树中选取初始层级,其中,所述初始层级为除多叉树的首个层级之外的任一层级。

步骤202:确定所述需求算力在初始层级的空间位置,并生成所述需求算力对应的第二资源id。

步骤203:根据所述第二资源id在初始层级的空间位置查找对应的预设算力。

步骤204:若根据所述第二资源id在初始层级的空间位置未查找到对应的预设算力,则根据第二预设规则向除所述初始层级外的其他层级发送查询请求。

可以理解的是,所述根据第二预设规则向除所述初始层级外的其他层级发送查询请求具体包含有如下内容:

步骤205-1:判断根据所述第二资源id在初始层级的空间位置查找对应的预设算力的查询结果中是否有后继结点;

若是,则执行步骤205-2,若否,则执行步骤205-3。

步骤205-2:在所述初始层级的上一层的空间位置继续查找对应的预设算力;

步骤205-3:在所述初始层级的下一层的空间位置继续查找对应的预设算力。

另外,所述于p2p网络的计算资源查找方法中步骤200中还包含有步骤206:

步骤206:若所述需求算力为所述初始层级的空间位置的边界值,则确定所述目标p2p网络中不存在所述需求算力对应的预设算力,并停止查找。

从上述描述可知,本发明的实施例提供一种用于p2p网络的计算资源查找方法,根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,能够有效减少计算资源的查找步骤,提高计算资源的查找效率,不仅能够对p2p网络中计算资源进行统筹利用,而且能够极大的缩短p2p网络中计算资源需求方的查找周期,提高算力资源利用率。

为进一步的说明本方案,本发明还提供一种用于p2p网络的计算资源查找方法的具体实施方式,具体包括如下内容:

s1:计算节点注册成为目标p2p网络的算力服务提供方。

s2:计算节点基于rfc7374协议在目标p2p网络中发布算力服务。

s3:算力服务需求方基于rfc7374协议在目标p2p网络中查找算力服务。

其一,所述步骤s1具体包括如下内容:

s1-1:用于提供算力服务的计算节点加入目标p2p网络中。

s1-2:加入所述p2p网络中的计算节点应用stun(simpletraversalofudpovernats,nat的udp简单穿越)协议判断自身的加入位置是否位于nat(networkaddresstranslation,网络地址转换)设备之后;

若是,则执行s1-3;若否,则执行s1-6。

s1-3:通过服务发现模块查找一个turn(使用中继穿越nat的协议)服务,其中,该turn服务用于为所述算节点提供在目标p2p网络中的服务能力。

s1-4:在查找到的turn服务中获取中继relay地址。

s1-5:计算节点将所述中继relay地址注册到目标p2p网络中,即将自身注册为该目标p2p网络的算力服务提供方。

s1-6:计算节点将自身ip地址注册到目标p2p网络中,即将自身注册为该目标p2p网络的算力服务提供方。

其二,所述步骤s2具体包括如下内容:

s2-1:在rfc7374协议的redir树中选取初始层级,其中,所述初始层级为除redir树的首个层级之外的任一层级;

s2-2:确定所述计算节点的算力在该初始层级的空间位置;

s2-3:根据所述计算节点的算力及初始层级,生成所述计算节点的第一资源id,其中,所述资源id由命名空间、所述计算节点的算力及初始层级组成;

s2-4:所述计算节点将对应的第一资源id及算力信息发布至所述空间位置中,以及

s2-5:判断所述算力是否满足第一预设条件,若否,则执行步骤s2-6,若是,则执行步骤s2-7。

s2-6:根据第一预设规则向除所述初始层级外的其他层级发送算力存储请求。且所述s2-6包括:

若所述计算节点的算力值是否为对应空间位置的中当前最大值、最小值或边界值,若是,则向所述指定层级的下一层发送算力存储请求,将算力存储在所述初始层级的下一层中;

若所述计算节点的算力值是否为对应的空间位置中的唯一值或所述初始层级的上一层的边界值,则向所述初始层级的上一层发送算力存储请求,将算力存储在所述初始层级的上一层中。

s2-7:将算力存储在所述初始层级中。

其三,所述步骤s3具体包括如下内容:

s3-1:在rfc7374协议的redir树中选取初始层级,其中,所述初始层级为除redir树的首个层级之外的任一层级;

s3-2:确定需求算力在初始层级的空间位置;

s3-3:根据所述需求算力及初始层级,生成所述需求算力的第二资源id,其中,所述第二资源id由命名空间、所述计算节点的算力及初始层级组成;

s3-4:根据所述第二资源id在初始层级的空间位置查找算力资源。

s3-5:若根据所述第二资源id在初始层级的空间位置未查找到算力资源,则执行步骤s3-6。

s3-6:根据第二预设规则向除所述初始层级外的其他层级发送查询请求。且所述s3-6包括:

判断根据所述第二资源id在初始层级的空间位置查找算力资源的查询结果中是否有后继结点;

若是,则在所述初始层级的上一层的空间位置继续查找算力资源;

若否,则在所述初始层级的下一层的空间位置继续查找算力资源。

s3-7:若所述需求算力为所述初始层级的空间位置的边界值,则确定所述目标p2p网络中不存在所述需求算力对应的算力资源,并停止查找算力资源。

在一种具体举例中,所述用于p2p网络的计算资源查找方法的具体实施方式,具体包括如下内容:

1.发布算力服务

计算节点加入到网络中提供算力服务,在注册为算力服务提供方之前,需要利用stun协议来判断出自己是否在nat设备后面。如果在nat设备后面,则需要通过服务发现找到一个turn服务来为自己提供公网的服务能力。计算节点需要把自己的ip地址或从turn服务获取到的relay地址注册到网络。

计算节点在发布算力服务时,选取指定层级l(通常为2)作为我们的起始level,找到指定power(节点提供的算力)在l层的空间位置i(l,power),生成资源id(id=namespace+level+power),将资源id与算力信息一起发布到空间i(l,power)中。同时根据power判断需不需要向其他level发送存储请求。依据的条件有:

power值是空间i(l,power)当前最大、最小值或空间i(l,power)边界值,需要向level+1层进行存储。

power值是当前空间的唯一值或者是低一层的边界值则需要向level-1层进行存储。

2.发现算力服务

在计算时,需要根据算力匹配计算节点,首先选取指定层级l(通常为2)作为我们的起始level,找到指定power(节点提供的算力)在l层的空间位置i(l,power),生成资源id(id=namespace+level+power)。利用资源id向指定的空间i(l,power)查询。当在l层级没有找到资源,则需要根据power判断需不需要向其他level发送查询请求。依据的条件有:

如果查询结果没有后继结点,说明可能存在于更高的level中,使得level+1向上继续查找

有后继值说明可能存在于更低的level中,使得level-1向下继续查找如果power为空间i(l,power)的边界值,则整个网络中不存在,停止查询。

从上述描述可知,本发明的应用实例提供一种用于p2p网络的计算资源查找方法,通过基于redir(recursivedistributedrendezvous)[rfc7374],dht算法,设计出适用于计算资源的发布、查询方法。该方法通过对算力的数字化划分,为每一类算力值生成唯一的资源id,分发到p2p网络中。对于请求者,可以通过需要的算力值,构造出资源id来在网络中进行查询。本发明的计算资源发现方法最差仅需要l次查询(l等于redir层数),与基于chord算法则需要n次(n等于网络中节点的数量),redir发现机制不需要主动探测节点间状态,仅有服务节点主动上报。采用chord为了维护环状网络需要定期主动去探测前驱与后继节点状态。能够有效减少计算资源的查找步骤,提高计算资源的查找效率,不仅能够对p2p网络中计算资源进行统筹利用,而且能够极大的缩短p2p网络中计算资源需求方的查找周期,提高算力资源利用率,可以应用于区块链,科学计算,数据服务,交通,医疗,物联网计算资源的网络等领域,在区块链领域可以利用其高效的发布,查询功能应用在区块的查找,转发。在科学计算领域可利用在科学计算设备的发现服务领域。在物联网方向可以利用在智能设备间的发现服务领域。

本发明的实施例提供能够实现所述用于p2p网络的计算资源查找方法中全部内容的一种用于p2p网络的计算资源查找系统的具体实施方式,参见图10,所述用于p2p网络的计算资源查找系统具体包含有如下内容:

计算资源查找请求接收模块10,用于接收计算资源查找请求,其中,所述计算资源查找请求中包含有需求算力;

计算资源查找模块20,用于根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,其中,所述预设算力由计算节点基于所述rfc7374协议在所述目标p2p网络中发布而得。

参见图11,所述计算资源查找系统还包括:

计算节点注册模块,用于在目标p2p网络中注册用于提供计算资源的计算节点。

计算资源发布模块,用于基于所述rfc7374协议在目标p2p网络中发布所述计算节点对应的计算资源。

本申请提供的用于p2p网络的计算资源查找系统的实施例具体可以用于执行上述实施例中的用于p2p网络的计算资源查找方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

从上述描述可知,本发明的实施例提供一种用于p2p网络的计算资源查找系统,能够有效减少计算资源的查找步骤,提高计算资源的查找效率,不仅能够对p2p网络中计算资源进行统筹利用,而且能够极大的缩短p2p网络中计算资源需求方的查找周期,提高算力资源利用率。

本申请的实施例还提供能够实现上述实施例中的用于p2p网络的计算资源查找方法中全部步骤的一种电子设备的具体实施方式,参见图12,所述电子设备具体包括如下内容:

处理器(processor)601、存储器(memory)602、通信接口(communicationsinterface)603和总线604;

其中,所述处理器601、存储器602、通信接口603通过所述总线604完成相互间的通信;所述通信接口603用于实现医学标签推荐系统以及用户终端等相关设备之间的信息传输;

所述处理器601用于调用所述存储器602中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的用于p2p网络的计算资源查找方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤100:接收计算资源查找请求,其中,所述计算资源查找请求中包含有需求算力。

步骤200:根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,其中,所述预设算力由计算节点基于所述rfc7374协议在所述目标p2p网络中发布而得。

从上述描述可知,本发明的实施例提供一种电子设备,能够有效减少计算资源的查找步骤,提高计算资源的查找效率,不仅能够对p2p网络中计算资源进行统筹利用,而且能够极大的缩短p2p网络中计算资源需求方的查找周期,提高算力资源利用率。

本申请的实施例还提供能够实现上述实施例中的用于p2p网络的计算资源查找方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的用于p2p网络的计算资源查找方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤100:接收计算资源查找请求,其中,所述计算资源查找请求中包含有需求算力。

步骤200:根据所述需求算力,基于rfc7374协议在目标p2p网络中查找对应的预设算力,其中,所述预设算力由计算节点基于所述rfc7374协议在所述目标p2p网络中发布而得。

从上述描述可知,本发明的实施例提供一种计算机可读存储介质,能够有效减少计算资源的查找步骤,提高计算资源的查找效率,不仅能够对p2p网络中计算资源进行统筹利用,而且能够极大的缩短p2p网络中计算资源需求方的查找周期,提高算力资源利用率。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。

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