P2p资源定位方法

文档序号:7552147阅读:204来源:国知局
专利名称:P2p资源定位方法
技术领域
本发明涉及计算机网络技术,尤其涉及一种P2P资源定位方法。
背景技术
对等(Peer-to-Peer,简称P2P)网络是一种用于不同用户节点即个人计算机(personal compute,简称PC)之间不经过中继设备直接交换数据或服务的技术。在P2P网络中,所有用户节点都处于对等地位,网络中的每个用户节点既能充当客户端,又能作为服务器向其它用户节点提供资源与服务。当前互联网中存在大量使用P2P技术的服务,但是由于现有P2P网络与互联网服务提供商(Internet Service Provider,简称ISP)的IP承载网的网络拓扑不匹配,导致目前ISP缺乏对P2P网络进行有效监管的机制。P2P技术的关键是在物理网络之上构建P2P覆盖网,现有构建P2P覆盖网的技术主要有分层构建,即根据用户节点间某些共同属性进行簇的划分,将具有相同或相近属性的用户节点组成一个簇,通过用户节点所在簇内的位置选举出超级节点,由超级节点构成上层覆盖网;簇内其他节点可以采用结构化或非结构化方式进行组织,簇内所有节点的资源信息将集中发布在簇内选举出的超级节点上,再由超级节点根据上层覆盖网构建算法发布到上层覆盖网中;超级节点可以通过结构化或非结构化方式进行组织,并负责处理簇内节点的资源请求;当簇内节点发出资源请求时,首先在簇内的超级节点进行资源的查询,若发现存在请求节点所需的资源,则为请求节点返回持有该资源的用户节点信息,若未查询到相关信息,则作为代理为请求节点在超级节点组成的上层覆盖网中进行资源查询,并将查询结果返回给该请求节点。虽然通过上述分层构建的P2P覆盖网依据地理位置或其他信息进行的分簇考虑了 P2P覆盖网同ISP的IP承载网的不匹配问题,但是,通过从簇内选举的超级节点本身会成为网络的瓶颈,如果簇内选举出的超级节点失效则会造成簇内节点的资源定位请求无响应,降低资源定位的效率。

发明内容
本发明的目的在于提供一种P2P资源定位方法,以提高资源定位的效率。本发明的第一个方面是提供一种P2P资源定位方法,包括:对等应用服务器P2P AS接收用户节点发送的资源请求消息,所述资源请求消息中包括请求的资源的业务类型、资源名称以及所述用户节点的ID、IP地址;若所述P2P AS的本地注册表中存在与所述用户节点的ID、IP地址以及请求的资源的业务类型对应的表项,则向P2P业务覆盖网中的超级节点发送所述资源请求消息,以使所述超级节点根据所述请求的资源的业务类型和资源名称将所述资源请求消息通过由超级节点构成的上层覆盖网路由至与所述请求的资源的业务类型和资源名称对应的超级节点;所述P2P AS接收与所述请求的资源的业务类型和资源名称对应的超级节点返回的资源节点列表,所述资源节点列表包括至少一个资源节点的IP地址,所述至少一个资源节点归属于所述与所述请求的资源的业务类型和资源名称对应的超级节点管理的与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网;所述P2P AS根据所述用户节点的IP地址,向所述用户节点发送所述资源节点列表,以使所述用户节点根据所述资源节点列表获取资源。本发明的另一个方面是提供一种P2P资源定位方法,包括:超级节点接收对等应用服务器P2P AS发送的用户节点的资源请求消息,所述资源请求消息中包括请求的资源的业务类型、资源名称以及所述用户节点的ID、IP地址;若所述超级节点自身管理的至少一个内容资源覆盖网中存在与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网,则向所述P2P AS发送资源节点列表,所述资源节点列表中包括与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网中至少一个资源节点的IP地址,以使所述P2P AS向所述用户节点发送所述资源节点列表;若所述超级节点自身管理的至少一个内容资源覆盖网中不存在与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网,则根据所述请求的资源的业务类型和资源名称将所述资源请求消息通过上层覆盖网路由至与所述请求的资源的业务类型和资源名称对应的其它超级节点。采用上述本发明技术方案的有益效果是:由于超级节点按照资源名称和业务类型对于所述业务类型对应的P2P业务覆盖网中的资源节点进行管理,且用户节点发送的资源请求消息是通过P2P AS有针对性地发送到与请求的资源的业务类型对应的P2P业务覆盖网中的上层覆盖网,由上层覆盖网中的超级节点根据请求的资源的资源名称和业务类型路由管理对应内容资源覆盖网的超级节点,使得P2P业务覆盖网中任一用户节点的资源请求均不是发送到某个固定的超级节点,减轻了超级节点的处理压力,且不会出现超级节点失效导致P2P业务覆盖网内用户节点的资源定位请求无响应的情形,从而提高了资源定位的效率。


图1为本发明实施例一提供的一种P2P资源定位方法的流程图;图2为本发明实施例二提供的一种P2P资源定位方法的流程图;图3为本发明实施例三提供的一种P2P资源定位方法的流程图;图4为本发明实施例四提供的一种P2P资源定位方法的流程图。
具体实施例方式图1为本发明实施例一提供的一种P2P资源定位方法的流程图,如图1所示,所述方法可以包括如下步骤:步骤101,对等应用服务器(Peer-to-Peer Application Server,简称 P2P AS)接收用户节点发送的资源请求消息;需要说明的是,本发明实施例的P2P AS可以是由ISP部署在IP承载网的实体,并通过网络与P2P业务覆盖网进行通信。在本发明实施例中,当P2P业务覆盖网中的用户节点希望获取资源时,可以向P2PAS发送资源请求消息,该资源请求消息中可以包括所述用户节点的ID、IP地址、请求的资源的业务类型、资源名称。步骤102,所述P2P AS向P2P业务覆盖网中的超级节点发送资源请求消息;P2P AS接收到用户节点的资源请求后,对用户节点的资源请求进行鉴权,例如,若本地注册表中存在与请求资源的用户节点的ID、IP地址和请求的资源的业务类型对应的表项,P2P AS则向与请求的资源的业务类型对应的P2P业务覆盖网中的超级节点发送用户节点的资源请求消息,以使接收到资源请求消息的超级节点可以根据请求的资源的业务类型和资源名称将资源请求消息通过上层覆盖网路由至与请求的资源的业务类型和资源名称对应的超级节点。步骤103,所述P2P AS接收与所述请求的资源的业务类型和资源名称对应的超级节点返回的资源节点列表;在本发明实施例中,超级节点是按照资源对P2P业务覆盖网中的内容资源覆盖网进行管理的,即持有的业务类型和资源名称相同的资源的资源节点共同组成了一个内容资源覆盖网,并由上层覆盖网中的一个超级节点对其进行管理,记录管理的内容资源覆盖网的元数据信息,其中,内容资源覆盖网的元数据信息可以包括该内容资源覆盖网对应的资源名称、业务类型以及组成该内容资源覆盖网的各资源节点的ID、IP地址,即持有业务类型和资源名称相同的资源的资源节点的ID、IP地址。因此,P2P业务覆盖网中与请求的资源的业务类型和资源名称对应的超级节点接收到P2P AS发送的用户节点的资源请求消息后,通过查询自身管理的与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网的元数据信息,得到持有与请求资源的用户节点请求的资源的资源名称和业务类型对应资源的资源节点列表,并向P2P AS发送该资源节点列表,在本实施例中,资源节点列表中可以包括至少一个持有与请求资源的用户节点请求的资源的资源名称和业务类型对应资源的资源节点的IP地址。需要说明的是,本实施例中的用户节点是指发出业务请求的节点,如可以是发起注册请求、发起资源请求或发起资源发布的用户节点,用户节点需先注册到P2P业务覆盖网,然后可以通过P2P AS请求P2P业务覆盖网中的资源;当一个用户节点获取到资源后,则被加入到与获取的资源的资源名称和业务类型对应的内容资源覆盖网,而成为资源节点,而一个资源节点也可以作为普通的用户节点通过P2P AS请求P2P业务覆盖网中的其他资源。步骤104,所述P2P AS根据所述用户节点的IP地址,向所述用户节点发送所述资源节点列表,以使所述用户节点根据所述资源节点列表获取资源。P2P AS接收到P2P业务覆盖网与请求的资源的业务类型和资源名称对应的超级节点返回的资源节点列表后,向请求的用户节点返回与请求的资源的业务类型和资源名称对应的资源节点列表,从而使得请求的用户节点可以根据资源节点列表获取相应的资源。本实施例中,由于超级节点按照资源名称和业务类型对于所述业务类型对应的P2P业务覆盖网中的资源节点进行管理,且用户节点发送的资源请求消息是通过P2P AS有针对性地发送到与请求的资源的业务类型对应的P2P业务覆盖网中的上层覆盖网,由上层覆盖网中的超级节点根据请求的资源的资源名称和业务类型路由管理对应内容资源覆盖网的超级节点,使得P2P业务覆盖网中任一用户节点的资源请求不是发送到某个固定的超级节点,减轻了超级节点的处理压力,且不会出现超级节点失效导致P2P业务覆盖网内用户节点的资源定位请求无响应的情形,从而提高了资源定位的效率。图2为本发明实施例二提供的一种P2P资源定位方法的流程图,如图2所示,本实施例在图1所示方法的基础上,进一步地,在步骤104之后,所述方法还可以包括:步骤201,所述P2P AS接收所述用户节点的成功获取资源的响应消息;在本发明实施例中,当请求资源的用户节点根据资源节点列表成功获取到希望获取的资源后,还可以向P2P AS发送成功获取资源的响应消息,P2P AS则接收已获取资源的用户节点发送的成功获取资源的响应消息,其中,成功获取资源的响应消息可以包括已获取资源的用户节点成功获取的资源的资源名称、业务类型以及已获取资源的用户节点的ID、IP地址。步骤202,所述P2P AS向与所述成功获取的资源的业务类型和资源名称对应的超级节点发送所述用户节点的成功获取资源的响应消息;P2P AS则向P2P业务覆盖网中与成功获取的资源的资源名称、与成功获取的资源的资源名称对应的业务类型对应的超级节点发送已获取资源的用户节点发送的成功获取资源的响应消息,从而使得对应的超级节点将已获取资源的用户节点的ID、IP地址添加到自身管理的与成功获取的资源的业务类型和资源名称对应的内容资源覆盖网中。进一步的,所述方法还可以包括:步骤203,所述P2P AS接收P2P业务覆盖网中用户节点发送的资源发布消息;在本发明实施例中,当P2P业务覆盖网中的用户节点希望发布资源时,可以向P2PAS发送资源发布消息,该资源发布消息中可以包括请求发布资源的用户节点的ID、IP地址、请求发布的资源的业务类型、资源名称等。步骤204,所述P2P AS向P2P业务覆盖网中的超级节点发送所述资源发布消息;P2P AS接收到用户节点的资源发布消息后,对用户节点的资源发布请求进行鉴权,例如,若本地注册表中存在与请求发布资源的用户节点的ID、IP地址和请求发布的资源的业务类型对应的表项,P2P AS则向P2P业务覆盖网中与请求发布的资源的业务类型、资源名称对应的超级节点发送资源发布请求消息,与请求发布的资源的业务类型、请求发布的资源的资源名称对应的超级节点接收到资源发布请求消息后,若确定请求发布的资源为自身管理的内容资源覆盖网中与请求发布的资源的资源名称、与资源名称对应的业务类型对应的资源,则将请求的用户节点的ID、IP地址添加到自身管理的与请求发布的资源的业务类型和资源名称对应的内容资源覆盖网中。进一步的,在上述实施例的基础上,在步骤101之前,所述方法还可以包括:步骤205,所述P2P AS接收用户节点的注册请求;在本发明实施例中,当用户节点希望加入P2P业务覆盖网时,可以向P2P AS发送注册请求,其中,注册请求中可以包括请求注册的用户节点的IP地址、请求注册的业务类型以及请求注册的用户节点的状态信息等;其中,请求注册的用户节点的状态信息则可以是请求注册的用户节点当前的状态信息,如请求注册的用户节点的当前带宽、CPU的处理速度、存储空间的大小等信息。步骤206,若所述用户节点的状态信息满足与所述用户节点所请求注册的业务类型对应的第一预设条件,则根据用户节点的IP地址为所述用户节点分配全局唯一的ID,并将所述用户节点注册到与所述用户节点所请求注册的业务类型对应的P2P业务覆盖网;举例来说,P2P AS可以依据P2P覆盖网中用户节点所使用业务的不同将P2P覆盖网划分为四种不同类型的P2P业务覆盖网,如将使用点播业务的用户节点划分为P2P点播业务覆盖网,将使用直播业务的用户节点划分为P2P直播业务覆盖网,将使用下载业务的用户节点划分为P2P下载业务覆盖网,将使用会话业务的用户节点划分为P2P会话业务覆盖网。因此,当P2P AS接收到用户节点的注册请求后,首先根据用户节点的注册请求判断用户节点的当前带宽、CPU的处理速度、存储空间的大小等状态信息是否达到预设的与请求注册的业务类型对应的第一预设条件,其中,第一预设条件可以是对应的第一阈值限定集。具体来说,P2P AS可以根据用户节点的注册请求进行鉴权,若用户节点发送的当前CPU的处理速度为CP、存储空间的大小为SC、带宽为BD,则按照顺序定义为考量因子集合{CP,SC,BD},若预设的与请求注册的业务类型对应的P2P业务覆盖网的第一预设条件的第一阈值限定集为ICPthreshtjld, SCthreshold, BDthresholdI,则筛选满足预设的与请求注册的业务类型对应的用户节点的第一预设条件为:CP ^ CPthreshold 且 SC > SCthreshold 且 BD > BDthreshold ;即只有当请求注册的用户节点的当前CPU的处理速度、存储空间的大小、带宽都大于或等于第一阈值限定集,则为请求注册的用户节点分配与请求的业务类型对应的全局唯一 ID,并将用户节点注册到与用户节点所请求注册的业务类型对应的P2P业务覆盖网,即将包含请求注册的用户节点的ID、IP地址、所请求注册的业务类型的表项添加到注册表中。进一步的,在步骤206之后,所述方法还可以包括:步骤207,若所述用户节点的状态信息和该用户节点的在线时长、贡献度等信息满足第二预设条件,则所述P2P AS向所述用户节点发送加入上层覆盖网的邀请消息;当P2P AS将请求注册的用户节点注册到与用户节点所请求注册的业务类型对应的P2P业务覆盖网后,P2P AS则进一步对用户节点进行筛选,判断用户节点是否可作为上层覆盖网中的超级节点。具体地,P2P AS判断用户节点的当前带宽、CPU的处理速度、存储空间的大小状态信息和该用户节点的在线时长、贡献度等信息等是否达到预设的与请求注册的业务类型对应的超级节点的配置条件,即第二预设条件,本实施例中,用户节点的在线时长、贡献度信息可以是P2P AS根据记录的用户节点的上下线时间、发布的资源以及请求的资源等信息统计而得出的。第二预设条件包括与业务类型对应的第二预设条件的第二阈值限定集和评分阈值。举例来说,若获取的用户节点的当前CPU的处理速度为CP、存储空间的大小为SC、带宽为BD、贡献度为CB、在线时长为AG,则按照顺序定义为考量因子集合{CP,SC,BD, CB, AG},若预设的与业务类型对应的第二预设条件的第二阈值限定集为
{CP threshold,SC threshold threshold CB threshold,AG thresh()ld},相应考里因子的权重集定义为
{ωερ, ω5ε, ωΒΒ, ωεΒ, ω AJ,0〈 ω〈I,且与第二预设条件对应的评分阈值为Score,则筛选满足预设的与请求注册的业务类型对应的第二预设条件的超级节点的方法为,超级节点作为用户节点的当前CPU的处理速度、存储空间的大小、带宽、贡献度、在线时长都大于或等于对应的第二预设条件的第二阈值限定集,即 CP>CP’ threshold> SC>SC’ threshold> BD>BD’ threshold>CB>CB,threshold、AG>AG,threshold,且(CPX cp+SCX SC+BDX bd+CBX cb+AGX ωΜ) >Score ;若达到,则向用户节点发送加入上层覆盖网的邀请消息,其中,邀请消息中可以包括已注册的P2P业务覆盖网中至少一个超级节点的ID、IP地址,从而使得用户节点可以向与已注册的P2P业务覆盖网中的至少一个超级节点的ID、IP地址对应一个超级节点发送加入上层覆盖网的请求;其中,加入上层覆盖网的请求中可以包括请求的用户节点的ID、IP地址,已注册的P2P业务覆盖网中至少一个超级节点接收到用户节点的加入上层覆盖网的请求后,可以根据P2P AS发送的加入上层覆盖网的邀请消息中包含的用户节点的ID、IP地址对用户节点进行验证,若验证通过,则向请求的用户节点返回同意加入上层覆盖网的响应消息,其中,同意加入上层覆盖网的响应消息中可以包括上层覆盖网的路由表,具体的,上层覆盖网的路由表中可以包括路由键值以及与路由键值对应的路由路径。步骤208,所述P2P AS接收所述用户节点返回的成功加入上层覆盖网的响应消息;用户节点接收到P2P业务覆盖网中至少一个超级节点发送的同意加入上层覆盖网的响应消息后,向P2P AS发送成功加入上层覆盖网的响应消息,其中,成功加入上层覆盖网的响应消息包括成功加入上层覆盖网的用户节点的ID、IP地址、与已注册的P2P业务覆盖网对应的业务类型。步骤209,所述P2P AS确定所述用户节点为所述已注册的P2P业务覆盖网中的超级节点,并根据所述用户节点的ID向所述已注册的P2P业务覆盖网中与所述用户节点的ID相邻的超级节点发送资源分配消息;在本发明实施例中,当P2P AS接收到用户节点发送的成功加入上层覆盖网的响应消息后,则可以确定用户节点为已注册的P2P业务覆盖网中的超级节点,并根据用户节点的ID向已注册的P2P业务覆盖网中与用户节点的ID相邻的超级节点发送资源分配消息,从而使得与用户节点的ID相邻的超级节点可以为用户节点分配内容资源覆盖网。需要说明的是,在本发明实施例中,由筛选后符合条件的超级节点组成上层覆盖网,而上层覆盖网中的超级节点按照结构化方式进行组织,通过结构化P2P算法如环状算法Chord、饼状算法Pastry、内容可寻址网络算法(Content addressable network,简称CAN)等进行动态维护。结构化P2P算法使得P2P业务覆盖网中每个超级节点可以根据其算法维护P2P业务覆盖网中相应部分的键值空间,每个资源名称与一个关键值相结合,而拥有相同资源关键值的用户节点会构成一个集合,即一个内容资源覆盖网,并由一个超级节点所管理,查询信息就可以根据所提供的关键值被转送到相应的内容资源覆盖网,而不需要经过所有的节点。超级节点则按照资源对P2P业务覆盖网中的内容资源覆盖网进行管理,即持有的业务类型和资源名称相同的资源的用户节点共同组成了一个内容资源覆盖网,并由上层覆盖网中的一个超级节点对其进行管理,记录管理的内容资源覆盖网的元数据信息,例如,可以通过内容资源覆盖(Content Resource Overlay,简称CR0)表项管理内容资源覆盖网,记录管理的内容资源覆盖网的元数据信息,具体的,内容资源覆盖网的元数据信可以包括该内容资源覆盖网对应的资源名称、资源属性、业务类型、以及组成该内容资源覆盖网的各资源节点的IP地址等。进一步地,步骤102具体可以包括:步骤210,所述P2P AS根据预设的初始算法对请求的资源的资源名称和业务类型进行计算,得到第一计算结果,将第一计算结果添加到所述资源请求消息中;P2P AS接收到用户节点的资源请求后,对用户节点的资源请求进行鉴权,例如,若本地注册表中存在与请求资源的用户节点的IP地址和请求的资源的业务类型对应的表项,则P2P AS根据预设的初始算法对请求的资源的资源名称和业务类型进行计算,从而得到第一计算结果,并将第一计算结果添加到资源请求消息中。在本实施例中,预设的初始算法可以是预设的哈希算法中的一种。步骤211,所述P2P AS向P2P业务覆盖网中的超级节点发送添加了所述第一计算结果的资源请求消息;P2P AS向与请求的资源的业务类型对应的P2P业务覆盖网中的超级节点发送添加了第一计算结果的资源请求消息,从而使得超级节点可以根据第一计算结果通过上层覆盖网将资源请求消息路由至与请求的资源的业务类型和资源名称对应的超级节点。进一步的,当P2P业务覆盖网中管理内容资源覆盖网的超级节点中存在预设时间内被访问次数达到第一阈值的一个超级节点时,则该超级节点可以向P2P AS发送对自身管理的内容资源覆盖网中的一个热门内容资源覆盖网所管理的资源进行负载均衡的请求消息,其中,热门内容资源覆盖网可以是该超级节点所管理的所有内容资源覆盖网中被访问次数最多的一个内容资源覆盖网;负载均衡请求消息则可以包括请求负载均衡的资源的资源名称、业务类型、以及请求负载均衡的超级节点的ID、IP地址;在本发明实施例中,第一阈值可以是所述超级节点在预设时间内被访问次数的最大值。P2P AS接收超级节点发送的负载均衡请求消息,如果P2P AS的本地注册表中存在与请求负载均衡的超级节点的ID、IP地址以及请求负载均衡的资源的业务类型对应的表项,则向资源管理实体发送所述超级节点发送的负载均衡请求消息,以使资源管理实体从预设的多种副本建立算法中选择一种副本建立算法对请求负载均衡的资源的资源名称和业务类型进行计算(需要说明的是,当资源管理实体再次接收到该超级节点发送的对同一资源进行负载均衡的请求消息时,则从预设的多种副本建立算法中选择一种之前未使用过的副本建立算法对请求负载均衡的资源的资源名称和业务类型进行计算),得到第二计算结果,并向P2P AS返回负载均衡响应消息,其中,负载均衡响应消息可以包括第二计算结果以及请求负载均衡的超级节点的ID、IP地址。P2P AS接收到资源管理实体发送的负载均衡响应消息后,向请求负载均衡的超级节点返回该负载均衡响应消息,从而使得请求负载均衡的超级节点根据负载均衡响应消息建立资源副本、并将资源副本在P2P业务覆盖网中的另一超级节点上存储;当请求负载均衡的超级节点将资源副本在另一超级节点上成功存储后,则向P2P AS发送资源副本存储成功消息,P2P AS接收到资源副本存储成功消息后,将该资源副本存储成功消息向资源管理实体发送,从而使得资源管理实体建立请求负载均衡的资源的副本维护表,并在副本维护表中添加包括请求负载均衡的资源的资源名称、业务类型和存储成功的资源副本对应的副本建立算法的表项,当资源管理实体后续再接收到对同一资源请求负载均衡的资源副本存储成功消息后,则在副本维护表中添加负载均衡的资源的资源名称、业务类型和当前存储成功的资源副本对应的副本建立算法的表项。当P2P AS接收到用户节点发送的对已建立资源副本的资源的资源请求消息后,则根据请求的业务类型和请求的资源名称从资源管理实体的副本维护表中获取至少一个资源副本分别对应的副本建立算法,并从与请求的资源的资源名称和业务类型对应的初始算法和至少一个资源副本分别对应的副本建立算法中选择一种算法,对用户节点请求的资源的资源名称和业务类型进行计算,从而得到第三计算结果,并向P2P业务覆盖网中的超级节点发送包括第三计算结果的资源请求消息,从而使得超级节点根据第三计算结果将资源请求消息路由至与第三计算结果对应的超级节点。本实施例通过对热门资源建立资源副本的形式实现多个超级节点对同一资源进行管控,从而实现了拥有热门资源的超级节点的负载均衡。进一步的,当P2P业务覆盖网中管理内容资源覆盖网中存在预设时间内被访问次数未达到第二阈值的一个超级节点、且该超级节点确定自身所管理的内容资源覆盖网对应的资源中的一个资源为初始资源并在其他超级节点上存在对应的资源副本时,则该超级节点可以向P2P AS发送删除资源副本的请求消息,其中,删除资源副本的请求消息可以包括请求删除的副本的资源的资源名称、业务类型以及请求的超级节点的IP地址;第二阈值则可以是预设时间内被访问次数的最小值,在本实施例中,第二阈值小于第一阈值。P2P AS接收到删除资源副本的请求消息后,如果确定本地注册表中存在与请求删除副本的超级节点的ID、IP地址以及请求删除副本的资源的业务类型对应的表项,则向资源管理实体发送超级节点发送的删除资源副本的请求消息,以使资源管理实体根据请求删除副本的资源的资源名称和业务类型获取该副本维护表,并从与请求删除副本的资源的资源名称和业务类型对应的至少一种副本建立算法中选择一种副本建立算法,对请求删除副本的资源的资源名称和业务类型进行计算,从而得到第四计算结果,然后向P2P AS返回资源副本删除消息,其中,资源副本删除消息包括第四计算结果、请求删除副本的超级节点的ID、IP地址。P2P AS接收到资源管理实体返回的资源副本删除消息后,向P2P业务覆盖网中请求删除副本的超级节点发送包括第四计算结果的资源副本删除消息,从而使得请求删除副本的超级节点根据第四计算结果将资源副本删除消息路由至存储该资源副本的超级节点、以使存储该资源副本的超级节点删除该资源副本;P2P AS还可以接收请求删除副本的超级节点发送的资源副本删除成功消息,其中,资源副本删除成功消息包括删除的资源副本对应的资源的资源名称、业务类型和对应的副本建立算法。P2P AS还将资源副本删除成功消息向资源管理实体发送,以使资源管理实体根据删除的资源副本的资源名称、建立算法和业务类型更新对应的副本维护表。图3为本发明实施例三提供的一种P2P资源定位方法的流程图,如图3所示,所述方法可以包括如下步骤:步骤301,超级节点接收对等应用服务器P2P AS发送的用户节点的资源请求消息;需要说明的是,本发明实施例的P2P AS可以是由ISP部署在IP承载网的实体,并通过网络与P2P业务覆盖网进行通信。在本发明实施例中,当P2P业务覆盖网中的用户节点希望获取资源时,可以向P2PAS发送资源请求消息,该资源请求消息中可以包括请求资源的用户节点的ID、IP地址、请求的资源的资源名称和业务类型;P2P AS接收到用户节点的资源请求后,对用户节点的资源请求进行鉴权,鉴权成功后,P2P AS则向P2P业务覆盖网中的超级节点发送用户节点的资源请求消息,在本实施例中,资源请求消息中可以包括请求的资源的资源名称、业务类型、以及用户节点的IP地址。步骤302,若所述超级节点自身管理的至少一个内容资源覆盖网中存在与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网,则向所述P2P AS发送资源节点列表;在本发明实施例中,超级节点是按照资源对P2P业务覆盖网中的内容资源覆盖网进行管理的,即持有的业务类型和资源名称相同的资源的用户节点共同组成了一个内容资源覆盖网,并由上层覆盖网中的一个超级节点对其进行管理,记录管理的内容资源覆盖网的元数据信息,其中,内容资源覆盖网的元数据信息包括组成该内容资源覆盖网的各用户节点的IP地址,即持有业务类型和资源名称相同的资源的资源节点的IP地址。因此,P2P业务覆盖网中的超级节点接收到P2P AS发送的用户节点的资源请求消息后,通过查询自身管理的内容资源覆盖网的元数据信息,如果确定存在与请求的业务类型和资源名称对应的内容资源覆盖网,则获取持有与请求资源的用户节点请求的资源名称和业务类型对应资源的资源节点列表,并向P2P AS发送该资源节点列表,在本实施例中,资源节点列表中可以包括至少一个持有与请求资源的用户节点请求的资源的资源名称和业务类型对应资源的资源节点的IP地址,从而使得P2P AS可以向请求的用户节点发送所述资源节点列表、以使请求的用户节点可以根据资源节点列表获取相应的资源。步骤303,若所述超级节点自身管理的至少一个内容资源覆盖网中不存在与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网,则根据请求的资源的业务类型和资源名称将所述资源请求消息通过上层覆盖网路由至与请求的资源的业务类型和资源名称对应的超级节点。当P2P业务覆盖网中的超级节点接收到P2P AS发送的用户节点的资源请求消息后,通过查询自身管理的内容资源覆盖网的元数据信息,如果不存在与请求的资源的业务类型和资源名称对应的内容资源覆盖网时,则根据请求的资源的业务类型和资源名称将资源请求消息通过上层覆盖网路由至与请求的资源的业务类型和资源名称对应的超级节点,从而使得与请求的资源的业务类型和资源名称对应的超级节点可以向P2P AS发送至少一个持有与请求的资源的资源名称和业务类型对应资源的资源节点的IP地址,以使P2P AS可以向请求资源的用户节点发送包括至少一个资源节点的IP地址的源节点列表、以使请求资源的用户节点可以根据资源节点列表获取相应的资源。本实施例中,由于超级节点按照资源名称和业务类型对于所述业务类型对应的P2P业务覆盖网中的资源节点进行管理,且用户节点发送的资源请求消息是通过P2P AS有针对性地发送到与请求的资源的业务类型对应的P2P业务覆盖网中的上层覆盖网,由上层覆盖网中的超级节点根据请求的资源的资源名称和业务类型路由管理对应内容资源覆盖网的超级节点,使得用户节点的资源请求不是发送到某个固定的超级节点,减轻了超级节点的处理压力,且不会出现超级节点失效导致用户节点的资源定位请求无响应的情形,从而提闻了资源定位的效率。图4为本发明实施例四提供的一种P2P资源定位方法的流程图,如图4所示,本实施例在图3所示方法的基础上,进一步地,在超级节点向P2P AS发送资源节点列表之后,所述方法还可以包括:步骤401,所述超级节点接收P2P AS发送的所述用户节点成功获取资源的响应消息;在本发明实施例中,当请求资源的用户节点根据资源节点列表成功获取到希望获取的资源后,还可以向P2P AS发送成功获取资源的响应消息,P2P AS则接收已获取资源的用户节点发送的成功获取资源的响应消息,其中,成功获取资源的响应消息可以包括已获取资源的用户节点成功获取的资源的资源名称、对应的业务类型以及已获取资源的用户节点的IP地址;P2P AS则向P2P业务覆盖网中与成功获取的资源的资源名称、业务类型对应的超级节点发送已获取资源的用户节点发送的成功获取资源的响应消息,其中,成功获取资源的响应消息可以包括成功获取的资源的资源名称、业务类型以及成功获取资源的用户节点的ID、IP地址。步骤402,所述超级节点根据所述用户节点成功获取资源的响应消息将所述用户节点添加到自身管理的与所述成功获取的资源的业务类型和资源名称对应的内容资源覆盖网中。具体的,超级节点则根据成功获取的资源的资源名称、业务类型将成功获取资源的用户节点的ID、IP地址添加到自身管理的与成功获取的资源的资源名称、业务类型对应的内容资源覆盖网的元数据信息中,从而使得已获取资源的用户节点的ID、IP地址加入到所述超级节点管理的与用户节点成功获取的资源的业务类型和资源名称对应的内容资源
覆盖网中。进一步的,所述方法还可以包括:步骤403,所述超级节点接收所述P2P AS发送的用户节点的资源发布消息;在本发明实施例中,当P2P业务覆盖网中的用户节点希望发布资源时,可以向P2PAS发送资源发布消息,该资源发布消息中可以包括请求发布资源的用户节点的ID、IP地址、请求发布的资源的业务类型、资源名称等。P2P AS接收到用户节点的资源发布消息后,对用户节点的资源发布请求进行鉴权,并在鉴权通过后,向P2P业务覆盖网中与请求发布资源的业务类型、资源名称对应的超级节点发送资源发布消息,其中,资源发布消息中包括请求发布资源的业务类型、资源名称以及请求发布资源的用户节点的ID、IP地址;步骤404,所述超级节点根据所述资源发布消息将所述用户节点添加到自身管理的与所述请求发布的资源的业务类型和资源名称对应的内容资源覆盖网中。与请求发布的资源的业务类型、资源名称对应的超级节点接收到资源发布消息后,通过查询自身管理的内容资源覆盖网的元数据信息,若确定请求发布的资源为自身管理的内容资源覆盖网中与请求发布的资源名称、业务类型对应的资源,则将请求发布资源的用户节点的ID、IP地址添加到自身管理的与请求发布的资源的业务类型和资源名称对应的内容资源覆盖网中。进一步的,在所述超级节点加入上层覆盖网之前,所述方法还可以包括:步骤405,所述超级节点作为用户节点向所述P2P AS发送注册请求;在本发明实施例中,只有当用户节点加入P2P业务覆盖网后才成为超级节点,因此,当成为超级节点之前作为普通的用户节点可以向P2P AS发送注册请求,P2P AS则接收用户节点的注册请求,其中,注册请求中可以包括请求注册的用户节点的IP地址、状态信息以及请求注册的业务类型等,其中状态信息是请求注册的用户节点当前的状态信息,如请求注册的用户节点的当前带宽、CPU的处理速度、存储空间的大小等;从而使得P2P AS在判断请求注册的用户节点当前的状态信息满足与所述用户节点所请求注册的业务类型对应的第一预设条件时将所述用户节点注册到与所述用户节点所请求注册的业务类型对应的P2P业务覆盖网。
步骤406,所述超级节点作为用户节点接收所述P2P AS在判断状态信息满足第二预设条件时发送的加入已注册的P2P业务覆盖的上层覆盖网的邀请消息;当P2P AS将 请求注册的用户节点注册到与所述用户节点所请求注册的业务类型对应的P2P业务覆盖网后,P2P AS则进一步对请求注册的用户节点进行筛选,判断请求注册的用户节点是否可以作为上层覆盖网中的超级节点。具体地,P2P AS判断请求注册的用户节点的当前带宽、CPU的处理速度、存储空间的大小等状态信息和请求注册的用户节点的在线时长、贡献度等是否达到预设的与请求注册的业务类型对应的用户节点的第二预设条件,本实施例中,第二预设条件包括与业务类型对应的第二预设条件的第二阈值限定集和评分阈值。举例来说,若获取的请求注册的用户节点的当前CPU的处理速度为CP、存储空间的大小为SC、带宽为BD、贡献度为CB、在线时长为AG,则按照顺序定义为考量因子集合{CP,SC,BD, CB, AG},若预设的与业务类型对应的第二预设条件的第二阈值限定集为
iCP threshold SC threshold BD threshold CB threshold,AG thresh()ld},相应考里因子的权重集定乂
为i>c:p,wSC^ ωΒ ωα3,ωΜ},0〈ω〈1,且与第二预设条件对应的评分阈值为Score,则筛选满足预设的与请求注册的业务类型对应的第二预设条件的用户节点的方法为,请求注册的用户节点的当前CPU的处理速度、存储空间的大小、带宽、贡献度、在线时长都大于或等于对应的第二预设条件的第二阈值限定集,即 CP>CP’ threshold> SC>SC’ threshold> BD>BD’ threshold>CB>CB,threshold、AG>AG,threshold,且(CPX cp+SCX SC+BDX bd+CBX cb+AGX ωΜ) >Score ;若达到,则分别向请求注册的用户节点和已注册的P2P业务覆盖网中的超级节点中的一个超级节点发送加入上层覆盖网的邀请消息,其中,加入上层覆盖网的邀请消息中可以包括请求注册的用户节点的IP地址、ID和P2P业务覆盖网中一个超级节点的IP地址。步骤407,所述超级节点作为用户节点向上层覆盖网中的一个超级节点发送加入上层覆盖网的请求;请求注册的用户节点接收到P2P AS发送的加入上层覆盖网的邀请消息后,可以根据邀请消息向P2P业务覆盖网中的一个超级节点发送加入上层覆盖网的请求,其中,加入上层覆盖网的请求中可以包括请求的用户节点的IP地址和ID。步骤408,所述请求的超级节点接收所述一个超级节点返回的同意加入上层覆盖网的响应消息;在本发明实施例中,P2P业务覆盖网中一个超级节点接收到用户节点的加入上层覆盖网的请求后,可以向请求的超级节点返回同意加入上层覆盖网的响应消息,其中,同意加入上层覆盖网的响应消息中可以包括上层覆盖网的路由表,具体的,上层覆盖网的路由表中可以包括路由键值以及与路由键值对应的路由路径,在本实施例中,其路由键值可以是与资源的资源名称和业务类型对应的值。步骤409,所述请求的超级节点向所述P2P AS发送成功加入上层覆盖网的响应消息;请求的超级节点接收到P2P业务覆盖网中一个超级节点发送的同意加入上层覆盖网的响应消息后,则向P2P AS发送成功加入上层覆盖网的响应消息,其中,成功加入上层覆盖网的响应消息可以包括所述请求的超级节点的ID、IP地址、与所述加入的上层覆盖网对应的业务类型,以使所述P2P AS向上层覆盖网中与请求的超级节点的ID相邻的其它超级节点发送资源分配消息,进而使得其它超级节点根据所述资源分配消息为所述超级节点分配内容资源覆盖网。步骤410,所述请求的超级节点接收与所述请求的超级节点的ID相邻的其他超级节点分配的与所述ID和业务类型对应的内容资源覆盖网;需要说明的是,上层覆盖网中的超级节点按照结构化方式进行组织,通过结构化P2P算法如Chord、Pastry、CAN等进行动态维护。超级节点则按照资源对P2P业务覆盖网中的内容资源覆盖网进行管理,即持有的业务类型和资源名称相同的资源的用户节点共同组成了一个内容资源覆盖网,并由上层覆盖网中的一个超级节点对其进行管理。在本发明实施例中,由与请求的超级节点的ID相邻的其他超级节点基于P2P算法为请求的超级节点分配内容资源覆盖网,并将与分配的内容资源覆盖网对应的元数据信息一并分配给请求的超级节点,至此,所述用户节点成功加入上层覆盖网,成为超级节点,从而使得请求的超级节点可以对分配的内容资源覆盖网进行管理。在本实施例中,内容资源覆盖网对应的元数据信息可以是CRO表项,具体可以包括该内容资源覆盖网对应的资源名称、资源属性、业务类型、以及组成该内容资源覆盖网的各用户节点的IP地址等。具体地,步骤301中的资源请求消息可以包括第一计算结果,其中,第一计算结果是P2P AS发送的根据预设的初始算法对请求的资源的资源名称和业务类型进行计算后得到的,则步骤303具体可以为:所述用户节点根据所述第一计算结果通过上层覆盖网将所述资源请求消息路由至与所述请求的资源的业务类型和请求的资源名称对应的超级节点。在本发明实施例中,当P2P业务覆盖网中的用户节点希望获取资源时,可以向P2PAS发送资源请求消息,该资源请求消息中可以包括请求资源的用户节点的ID、IP地址、请求的资源的业务类型、资源名称等。P2P AS接收到用户节点的资源请求后,对用户节点的资源请求进行鉴权,并在鉴权成功后根据预设的初始算法对请求的资源的资源名称和业务类型进行第一计算,然后将第一计算结果添加到资源请求消息中,向与请求的资源的业务类型对应的P2P业务覆盖网中的超级节点发送添加了第一计算结果的资源请求消息。在本实施例中,预设的初始算法可以是预设的哈希算法中的一种。在本实施例中,资源请求消息中请求的资源的资源名称和业务类型进行计算的第一计算结果为超级节点存储的上层覆盖网的路由表中的路由键值,从而使得超级节点可以根据路由表将资源请求消息路由至与第一计算结果对应的超级节点。进一步的,P2P业务覆盖网中的超级节点还可以记录自身管理的所有内容资源覆盖网在预设时间内分别被访问的次数,因此,当P2P业务覆盖网中的一个超级节点自身管理的所有内容资源覆盖网在在预设时间内被访问的总次数达到第一阈值时,则该超级节点可以根据记录的自身管理的所有内容资源覆盖网在预设时间内分别被访问的次数确定一个热门内容资源覆盖网,即可以是在预设时间内被访问的次数最高的一个内容资源覆盖网为热门内容资源覆盖网,并确定该热门内容资源覆盖网对应的资源的资源名称和业务类型;然后向P2P AS发送对该热门内容资源覆盖网对应的资源进行负载均衡的请求消息,其中,负载均衡请求消息可以包括请求负载均衡的资源的资源名称、业务类型、以及请求负载均衡的超级节点的IP地址;在本实施例中,第一阈值可以是预设时间内被访问次数的最大值。P2P AS接收到超级节点发送的负载均衡请求消息,以使所述P2P AS向资源管理实体发送所述超级节点发送的负载均衡请求消息、以使所述资源管理实体从预设的多种副本建立算法中选择一种副本建立算法对所述请求负载均衡的资源的资源名称和业务类型进行计算,并向与请求负载均衡的超级节点返回包括第二计算结果的资源副本,请求负载均衡的超级节点则根据负载均衡响应消息中的第二计算结果和请求负载均衡的资源的元数据信息建立资源副本,其中,所述资源副本包括请求负载均衡的资源的元数据信息以及第二计算结果;并向P2P业务覆盖网中其它超级节点发送资源副本存储请求消息,其中,资源副本存储请求消息中包括所述资源副本、用于表示所述资源副本为副本资源的资源属性标识、以及请求的超级节点的IP地址、ID等;若P2P业务覆盖网中其它超级节点中的一个超级节点存储了该资源副本,则向请求的超级节点发送资源副本存储成功消息,请求的超级节点接收所述一个超级节点返回的资源副本存储成功消息,其中,资源副本存储成功消息可以包括该资源副本以及所述一个超级节点的IP地址、ID等;同时,请求的超级节点将与该资源副本对应的资源的资源属性标识更新为已建立副本的初始资源的标识,并向P2P AS发送资源副本存储成功消息,以使P2P AS将所述资源副本存储成功消息向所述资源管理实体发送、以使所述资源管理实体在副本维护表中添加包括资源副本对应的资源名称、业务类型和对应的副本建立算法的表项。在上述实施例中,超级节点还可以接收P2P业务覆盖网中其他超级节点发送的资源副本存储请求消息,其中,资源副本存储请求消息中包括资源副本、用于表示该资源副本为副本资源的资源属性标识、以及其它超级节点的IP地址、ID等。超级节点接收到其它超级节点发送的资源副本存储请求消息后,首先判断自身所管理的所有内容资源覆盖网在预设时间内的总被访问次数是否达到第一阈值,若未达到,则将资源副本存储请求消息中的资源副本和用于表示所述资源副本为副本资源的资源属性标识进行存储,并向其他超级节点返回资源副本存储成功消息,其中,资源副本存储成功消息可以包括资源副本以及存储该资源副本的超级节点的IP地址、ID。进一步的,当P2P业务覆盖网中的超级节点自身所管理的所有内容资源覆盖网在预设时间内被访问的总次数未达到第二阈值、且所述超级节点确定所述自身管理的所有内容资源覆盖网中存在至少一个内容资源覆盖网对应的资源的资源属性标识为已建立副本的初始资源的标识(即确定该资源为初始资源且在其他超级节点上存在对应的资源副本)时,则该超级节点可以向P2P AS发送删除资源副本的请求消息,以使所述P2P AS向资源管理实体发送该删除资源副本的请求消息;其中,删除资源副本的请求消息可以包括请求删除副本的资源的资源名称、业务类型以及请求删除副本的超级节点的IP地址;第二阈值则可以是预设时间内被访问次数的最小值。资源管理实体接收到删除资源副本的请求消息,则根据请求删除的资源的资源名称和业务类型获取该资源副本的维护信息,并从请求删除的资源的资源名称和业务类型对应的至少一种副本建立算法中选择一种副本建立算法,对请求删除的资源的资源名称和业务类型进行第四计算,从而得到第四计算结果,然后向P2P AS返回包括第四计算结果的资源副本删除消息,使得P2P AS将资源副本删除消息向P2P业务覆盖网中请求的超级节点发送;请求的超级节点根据第四计算结果将资源副本删除消息路由至存储了与第四计算结果对应的资源副本的超级节点,其中,资源副本删除消息可以包括请求删除副本的超级节点的IP地址、请求删除副本的资源的资源名称、业务类型。存储该资源副本的超级节点则根据请求删除副本的资源的资源名称、业务类型删除相应的资源副本,并向请求删除副本的超级节点发送资源副本删除成功消息,请求删除副本的超级节点则接收该资源副本删除成功消息,其中,资源副本删除成功消息可以包括其它超级节点存储的与该资源副本的资源名称和业务类型对应的内容资源覆盖网的元数据信息;请求删除副本的超级节点则可以根据资源副本删除成功消息更新本地的自身管理的与所述资源副本的资源名称和业务类型对应的内容资源覆盖网的元数据信息,从而达到对自身管理的内容资源覆盖网的元数据信息的同步。请求删除副本的超级节点还可以向P2P AS发送资源副本删除成功消息,以使P2P AS将所述资源副本删除成功消息向所述资源管理实体发送,以使资源管理实体更新副本维护表。其中,资源副本删除成功消息包括与删除的资源副本对应的资源名称、副本建立算法和业务类型。在上述实施例中,超级节点还可以接收P2P业务覆盖网中其它超级节点发送的资源副本删除消息,其中,资源副本删除消息可以包括其他超级节点中请求删除资源的超级节点的IP地址、请求删除副本的资源的资源名称、业务类型;若超级节点根据资源副本删除消息确定自身管理的内容资源覆盖网中存在与请求删除副本的资源的资源名称和业务类型对应的内容资源覆盖网、且确定该内容资源覆盖网对应的资源的资源属性标识为副本资源,则删除该资源副本;并向请求删除副本的超级节点发送资源副本删除成功消息,其中,资源副本删除成功消息可以包括该超级节点存储的与请求删除副本的资源的资源名称和业务类型对应的内容资源覆盖网的元数据信息,从而使得请求删除副本的超级节点可以根据资源副本删除成功消息更新本地的内容资源覆盖网的元数据信息。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种P2P资源定位方法,其特征在于,包括: 对等应用服务器P2P AS接收用户节点发送的资源请求消息,所述资源请求消息中包括请求的资源的业务类型、资源名称以及所述用户节点的ID、IP地址; 若所述P2P AS的本地注册表中存在与所述用户节点的ID、IP地址以及请求的资源的业务类型对应的表项,则向P2P业务覆盖网中的超级节点发送所述资源请求消息,以使所述超级节点根据所述请求的资源的业务类型和资源名称将所述资源请求消息通过由超级节点构成的上层覆盖网路由至与所述请求的资源的业务类型和资源名称对应的超级节占.所述P2P AS接收与所述请求的资源的业务类型和资源名称对应的超级节点返回的资源节点列表,所述资源节点列表包括至少一个资源节点的IP地址,所述至少一个资源节点归属于所述与所述请求的资源的业务类型和资源名称对应的超级节点管理的与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网; 所述P2P AS根据所述用户节点的IP地址,向所述用户节点发送所述资源节点列表,以使所述用户节点根据所述资源节点列表获取资源。
2.根据权利要求1所述的方法,其特征在于,所述P2PAS向所述用户节点发送所述资源节点列表之后,还包括: 所述P2P AS接收所述用户节点的成功获取资源的响应消息,所述成功获取资源的响应消息包括所述用户节点成功获取的资源的资源名称、业务类型以及所述用户节点的ID、IP地址; 所述P2P AS向与所述成功获取的资源的业务类型和资源名称对应的超级节点发送所述用户节点的成功获取资源的响应消息,以使所述与所述成功获取的资源的业务类型和资源名称对应的超级节点将所述用户节点的ID、IP地址添加到自身管理的与所述成功获取的资源的业务类型和资源名称对应的内容资源覆盖网中。
3.根据权利要求1或2所述的方法,其特征在于,还包括: 所述P2P AS接收P2P业务覆盖网中用户节点发送的资源发布消息,所述资源发布消息中包括请求发布的资源的业务类型、资源名称以及所述用户节点的ID、IP地址; 若所述P2P AS的本地注册表中存在与所述用户节点的ID、IP地址以及请求发布的资源的业务类型对应的表项,则向P2P业务覆盖网中的超级节点发送所述资源发布消息,以使与请求发布的资源的业务类型和资源名称对应的超级节点将所述用户节点的ID、IP地址添加到自身管理的与所述请求发布的资源的业务类型和资源名称对应的内容资源覆盖网中。
4.根据权利要求3所述的方法,其特征在于,所述P2PAS向P2P业务覆盖网中的超级节点发送所述资源请求消息或发送所述资源发布消息之前,还包括: 所述P2P AS接收所述用户节点的注册请求,所述用户节点的注册请求包括所述用户节点的IP地址、所述用户节点的状态信息以及所述用户节点所请求注册的业务类型; 若所述用户节点的状态信息满足与所述用户节点所请求注册的业务类型对应的第一预设条件,则根据用户节点的IP地址为所述用户节点分配全局唯一的ID,并在本地注册表中添加包括所述请求注册的用户节点的ID、IP地址、请求注册的业务类型的表项,将所述用户节点注册到与请求注册的业务类型对应的P2P业务覆盖网。
5.根据权利要求4所述的方法,其特征在于,所述P2PAS将所述用户节点注册到与所述用户节点所请求注册的业务类型对应的P2P业务覆盖网之后,还包括: 若所述用户节点的状态信息满足成为已注册的P2P业务覆盖网中的超级节点的第二预设条件,则所述P2P AS向所述用户节点发送加入上层覆盖网的邀请消息,所述邀请消息中包括已注册的P2P业务覆盖网中超级节点的ID、IP地址,以使所述用户节点向与所述已注册的P2P业务覆盖网中的超级节点的ID、IP地址对应的超级节点发送加入上层覆盖网的请求; 所述P2P AS接收所述用户节点返回的成功加入上层覆盖网的响应消息,所述成功加入上层覆盖网的响应消息包括所述用户节点的ID、用户节点的IP地址、与所述已注册的P2P业务覆盖网对应的业务类型; 所述P2P AS确定所述用户节点为所述已注册的P2P业务覆盖网中的超级节点,并根据所述用户节点的ID向所述已注册的P2P业务覆盖网中与所述用户节点的ID相邻的超级节点发送资源分配消息,以使所述与所述用户节点的ID相邻的其它超级节点为所述用户节点分配对应的内容资源覆盖网。
6.根据权利要求4所述的方法,其特征在于,所述P2PAS向P2P业务覆盖网中的超级节点发送所述资源请求消息,具体包括: 所述P2P AS根据预设的初始算法对请求的资源的资源名称和业务类型进行计算,得到第一计算结果,将所述第一计算结果添加到所述资源请求消息中; 所述P2P AS向P2P业务 覆盖网中的超级节点发送添加了所述第一计算结果的资源请求消息,以使所述超级节点根据所述第一计算结果将所述资源请求消息通过上层覆盖网路由至与所述请求的资源的业务类型和资源名称对应的超级节点。
7.根据权利要求6所述的方法,其特征在于,还包括: 所述P2P AS接收P2P业务覆盖网中超级节点发送的负载均衡请求消息,所述负载均衡请求消息包括请求负载均衡的资源的资源名称、所述请求负载均衡的资源的业务类型、以及所述请求负载均衡的超级节点的ID、IP地址;所述负载均衡请求消息是所述请求负载均衡的超级节点在预设时间内被访问次数达到第一阈值时发送的; 若所述P2P AS的本地注册表中存在与所述请求负载均衡的超级节点的ID、IP地址以及请求负载均衡的资源的业务类型对应的表项,则向资源管理实体发送所述超级节点发送的负载均衡请求消息,以使所述资源管理实体从预设的多种副本建立算法中选择一种副本建立算法对所述请求负载均衡的资源的资源名称和业务类型进行计算、得到第二计算结果; 所述P2P AS接收所述资源管理实体返回的负载均衡响应消息,所述负载均衡响应消息包括所述第二计算结果、所述请求负载均衡的超级节点的ID、IP地址; 所述P2P AS向所述请求负载均衡的超级节点返回所述负载均衡响应消息,以使所述请求负载均衡的超级节点根据所述负载均衡响应消息建立资源副本; 所述P2P AS接收所述请求负载均衡的超级节点返回的资源副本存储成功消息,并将所述资源副本存储成功消息向所述资源管理实体发送,以使所述资源管理实体建立所述请求负载均衡的资源的副本维护表,在所述副本维护表中添加包括所述请求负载均衡的资源的资源名称、业务类型和存储成功的资源副本对应的副本建立算法的表项;所述P2P AS向P2P业务覆盖网中的超级节点发送所述资源请求消息,包括: 若所述P2P AS根据所述请求的业务类型和请求的资源名称确定所述资源管理实体中存在对应的副本维护表,则获取所述副本维护表中至少一个资源副本分别对应的副本建立算法; 所述P2P AS从所述请求的资源名称和请求的业务类型对应的初始算法和所述至少一个资源副本分别对应的副本建立算法中选择一种算法,对所述请求的资源名称和请求的业务类型进行计算,得到第三计算结果; 所述P2P AS向P2P业务覆盖网中的超级节点发送包括所述第三计算结果的资源请求消息,以使所述超级节点根据所述第三计算结果将所述资源请求消息路由至与所述第三计算结果对应的超级节点。
8.根据权利要求7所述的方法,其特征在于,还包括: 所述P2P AS接收所述P2P业务覆盖网中超级节点发送的删除资源副本的请求消息,所述删除资源副本的请求消息包括请求删除副本的资源的资源名称、业务类型以及所述请求删除副本的超级节点的ID、IP地址;所述删除资源副本的请求消息是所述请求的超级节点在预设时间内被访问次数未达到第二阈值、且确定存在与所述请求删除副本的资源的资源名称和业务类型对应的资源副本时发送的,所述第二阈值小于所述第一阈值; 若所述P2P AS的本地注册表中存在与所述请求删除副本的超级节点的ID、IP地址以及请求删除副本的资源的业务类型对应的表项,则向所述资源管理实体发送超级节点发送的删除资源副本的请求消息,以使所述资源管理实体从与所述请求删除副本的资源的资源名称和业务类型对应的副本维护表中的至少一种副本建立算法中选择一种副本建立算法,对所述请求删除副本的资源的资源名称和业务类型进行计算,得到第四计算结果; 所述P2P AS接收所述资源管理实体返回的资源副本删除消息,所述资源副本删除消息包括所述第四计算结果、 所述请求删除副本的超级节点的ID、IP地址; 所述P2P AS向所述请求删除副本的超级节点发送所述资源副本删除消息,以使所述请求删除副本的超级节点根据所述第四计算结果将所述资源副本删除消息路由至存储了与所述第四计算结果对应的资源副本的超级节点; 所述P2P AS接收所述请求删除副本的超级节点发送的资源副本删除成功消息,所述资源副本删除成功消息包括所述请求删除副本的资源的资源名称、业务类型和对应的副本建立算法; 所述P2P AS将所述资源副本删除成功消息向所述资源管理实体发送,以使所述资源管理实体根据所述资源副本删除成功消息删除所述请求删除副本的资源的副本维护表中对应的表项。
9.一种P2P资源定位方法,其特征在于,包括: 超级节点接收对等应用服务器P2P AS发送的用户节点的资源请求消息,所述资源请求消息中包括请求的资源的业务类型、资源名称以及所述用户节点的ID、IP地址; 若所述超级节点自身管理的至少一个内容资源覆盖网中存在与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网,则向所述P2P AS发送资源节点列表,所述资源节点列表中包括与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网中至少一个资源节点的IP地址,以使所述P2P AS向所述用户节点发送所述资源节点列表;若所述超级节点自身管理的至少一个内容资源覆盖网中不存在与所述请求的资源的业务类型和资源名称对应的内容资源覆盖网,则根据所述请求的资源的业务类型和资源名称将所述资源请求消息通过上层覆盖网路由至与所述请求的资源的业务类型和资源名称对应的其它超级节点。
10.根据权利要求9所述的方法,其特征在于,所述向所述P2PAS发送资源节点列表之后,还包括: 所述超级节点接收P2P AS发送的所述用户节点成功获取资源的响应消息,所述用户节点成功获取资源的响应消息包括所述用户节点成功获取的资源的资源名称、业务类型以及所述用户节点的IP地址; 所述超级节点根据所述用户节点成功获取资源的响应消息将所述用户节点的ID、IP地址添加到自身管理的与所述成功获取的资源的业务类型和资源名称对应的内容资源覆盖网中。
11.根据权利要求9或10所述的方法,其特征在于,还包括: 所述超级节点接收所述P2P AS发送的用户节点的资源发布消息,所述资源发布消息中包括请求发布的资源的业务类型、资源名称以及所述用户节点的ID、IP地址; 所述超级节点根据所述资源发布消息将所述用户节点的ID、IP地址添加到自身管理的与所述请求发布的资源的业务类型和资源名称对应的内容资源覆盖网中。
12.根据权利要求11所述的方法,其特征在于,在所述超级节点加入上层覆盖网之前,还包括: 所述超级节点作为用户节点向所述P2P AS发送注册请求,所述注册请求包括所述超级节点的IP地址、状态信息以及所请求注册的业务类型,以使所述P2P AS在判断所述状态信息满足与所述超级节点所请求注册的业务类型对应的第一预设条件时将所述超级节点注册到与所述超级节点所请求注册的业务类型对应的P2P业务覆盖网。
13.根据权利要求12所述的方法,其特征在于,在所述超级节点加入上层覆盖网之前,还包括: 所述超级节点作为用户节点接收所述P2P AS在判断所述状态信息满足第二预设条件时发送的加入已注册的P2P业务覆盖网的上层覆盖网的邀请消息,所述邀请消息中包括所述超级节点的IP地址、ID和已注册的P2P业务覆盖网中超级节点的IP地址; 向所述已注册的P2P业务覆盖网中的超级节点发送加入上层覆盖网的请求,所述请求中包括作为用户节点的所述超级节点的IP地址和ID ; 接收所述已注册的P2P业务覆盖网中的超级节点返回的同意加入上层覆盖网的响应消息,所述同意加入上层覆盖网的响应消息中包括所述上层覆盖网的路由表; 向所述P2P AS发送成功加入上层覆盖网的响应消息,所述成功加入上层覆盖网的响应消息包括所述超级节点的ID、IP地址、与所述上层覆盖网对应的业务类型,以使所述P2PAS向所述上层覆盖网中与所述超级节点的ID相邻的其它超级节点发送资源分配消息、所述其它超级节点根据所述资源分配消息为所述超级节点分配内容资源覆盖网。
14.根据权利要求13所述的方法,其特征在于,所述资源请求消息包括第一计算结果,所述第一计算结果是所述P2P AS根据预设的初始算法对用户节点的资源请求消息中所述请求的资源的资源名称和业务类型进行计算后得到的;所述根据所述请求的资源的业务类型和资源名称将所述资源请求消息通过上层覆盖网路由至与所述请求的资源的业务类型和资源名称对应的其它超级节点,包括: 所述超级节点根据所述第一计算结果通过上层覆盖网将所述资源请求消息路由至与所述请求的资源的业务类型和请求的资源名称对应的超级节点。
15.根据权利要求14所述的方法,其特征在于,若所述超级节点自身管理的所有内容资源覆盖网在预设时间内被访问的总次数达到第一阈值,则所述方法还包括: 所述超级节点确定自身管理的所有内容资源覆盖网中被访问次数最多的一个内容资源覆盖网,并确定所述一个内容资源覆盖网对应的资源为请求负载均衡的资源; 所述超级节点向所述P2P AS发送负载均衡请求消息,所述负载均衡请求消息包括请求负载均衡的资源的资源名称、业务类型以及所述超级节点的ID与IP地址,以使所述P2P AS向资源管理实体发送所述超级节点发送的负载均衡请求消息、以使所述资源管理实体从预设的多种副本建立算法中选择一种副本建立算法对所述请求负载均衡的资源的资源名称和业务类型进行计算; 所述超级节点接收所述P2P AS发送的包含第二计算结果的负载均衡响应消息;所述超级节点根据所述第二计算结果和所述请求负载均衡的资源对应的内容资源覆盖网的元数据信息建立资源副本; 所述超级节点向所述P2P业务覆盖网中其它超级节点发送资源副本存储请求消息,所述资源副本存储请求消息中包括所述资源副本、用于表示所述资源副本为副本资源的资源属性标识、以及所述超级节点的IP地址、ID ; 所述超级节点接收所述其它超级节点中的一个超级节点在存储了所述资源副本后返回的资源副本存储成功消 息,所述资源副本存储成功消息包括所述资源副本以及所述一个超级节点的IP地址、ID ; 所述超级节点将自身管理的与所述资源名称对应的资源的资源属性标识更新为已建立副本的初始资源的标识; 所述超级节点向所述P2P AS发送资源副本存储成功消息,以使所述P2P AS将所述资源副本存储成功消息向所述资源管理实体发送、以使所述资源管理实体在所述副本维护表中添加包括所述资源副本对应的资源名称、对应的副本建立算法和对应的业务类型的表项。
16.根据权利要求14所述的方法,其特征在于,所述方法还包括: 所述超级节点接收所述P2P业务覆盖网中其它超级节点发送的资源副本存储请求消息,所述资源副本存储请求消息中包括所述资源副本、用于表示所述资源副本为副本资源的资源属性标识、以及所述其它超级节点的IP地址、ID ; 若所述超级节点确定自身管理的所有内容资源覆盖网在预设时间内被访问的总次数未达到第一阈值,则所述超级节点存储所述资源副本和用于表示所述资源为副本资源的资源属性标识; 所述超级节点向所述其它超级节点返回资源副本存储成功消息,所述资源副本存储成功消息包括所述资源副本以及所述超级节点的IP地址、ID。
17.根据权利要求15所述的方法,其特征在于,若所述超级节点自身管理的所有内容资源覆盖网在预设时间内被访问次数未达到第二阈值、且所述超级节点确定所述自身管理的所有内容资源覆盖网中存在资源属性标识为已建立副本的初始资源的标识的资源对应的至少一个内容资源覆盖网,则所述方法还包括: 确定所述至少一个内容资源覆盖网中的一个内容资源覆盖网,并确定所述一个内容资源覆盖网对应的资源的资源名称和业务类型; 向所述P2P AS发送删除资源副本的请求消息,所述删除资源副本的请求消息包括请求删除副本的资源的资源名称、业务类型以及所述请求删除副本的超级节点的IP地址,所述请求删除副本的资源为与所述一个内容资源覆盖网对应的资源,以使所述P2P AS根据所述请求删除的资源名称和业务类型提取与所述请求删除副本的资源的资源名称和业务类型对应的所述副本维护表; 所述请求的超级节点接收所述P2P AS返回的资源副本删除消息,所述资源副本删除消息包括所述资源管理实体从与所述请求删除副本的资源的资源名称和请求删除的资源名称对应的业务类型对应的副本维护表中至少一种副本建立算法中选择的一种副本建立算法对所述请求删除副本的资源的资源名称和请求删除的业务类型进行计算得到的第四计算结果; 根据所述第四计算结果将所述资源副本删除消息路由至存储了与所述第四计算结果对应的资源副本的超级节点; 接收所述存储了与所述第四计算结果对应的资源副本的其它超级节点发送的资源副本删除成功消息,所述资源副本删除成功消息包括所述其它超级节点存储的与所述资源副本的资源名称和业务类型对应的内容资源覆盖网的元数据信息; 根据所述资源副本删除成功消息更新自身管理与所述资源副本的资源名称和业务类型对应的内容资源覆盖网的元数据信息; 向所述P2P AS发送资源副本删除成功消息,所述资源副本删除成功消息包括与删除的资源副本对应的资源名称、副 本建立算法和业务类型,以使所述P2P AS将所述资源副本删除成功消息向所述资源管理实体发送,以使所述资源管理实体更新所述副本维护表。
18.根据权利要求16所述的方法,其特征在于,还包括: 所述超级节点接收所述P2P业务覆盖网中其它超级节点的资源副本删除消息,所述资源副本删除消息包括所述其它超级节点的IP地址、请求删除副本的资源的资源名称、业务类型; 若所述超级节点确定自身管理的内容资源覆盖网中存在与所述请求删除副本的资源的资源名称和业务类型对应的内容资源覆盖网、且确定所述对应的内容资源覆盖网的资源的资源属性标识为副本资源,则删除所述资源副本; 所述超级节点向所述请求删除资源副本的超级节点发送资源副本删除成功消息,所述资源副本删除成功消息包括所述超级节点存储的与所述请求删除副本的资源的资源名称和业务类型对应的内容资源覆盖网的元数据信息,以使所述请求删除资源副本的超级节点根据所述资源副本删除成功消息更新本地的内容资源覆盖网的元数据信息。
全文摘要
本发明提供一种P2P资源定位方法,所述方法包括对等应用服务器P2PAS向P2P业务覆盖网中的超级节点发送用户节点的资源请求消息;P2P AS接收超级节点返回的与资源请求消息对应的资源节点列表;P2P AS向用户节点发送所述资源节点列表,以使所述用户节点根据所述资源节点列表获取资源。本发明实施例中,由于用户节点发送的资源请求消息是通过P2P AS有针对性地向与请求的业务类型对应的P2P业务覆盖网中的超级节点发送的,又由于超级节点是按照资源对P2P业务覆盖网中的内容资源覆盖网进行管理的,因此,P2P业务覆盖网中的超级节点可以快速获知持有与请求的业务类型和资源名称对应的资源的资源节点信息,从而提高了资源定位的效率。
文档编号H04L29/06GK103095727SQ20131004966
公开日2013年5月8日 申请日期2013年2月7日 优先权日2013年2月7日
发明者卢美莲, 董丽华, 张泽, 孙丹华, 李慧驰 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1