]步骤S505,第一跳平台聚合发现结果。
[0113]步骤S506,第一跳平台将聚合的发现结果返回给发起者。
[0114]步骤S507,第二跳平台上如果存储着除第一跳平台外的其他平台,则记录上一跳平台的信息,即第一跳平台。同时获取此第二跳平台上存储的其它平台的地址,向除记录的平台以外的其它平台(即第三跳的平台)转发请求,并修改深度跳数限制,如2-1 = 1
[0115]步骤S508,第三跳的平台接收到资源发现请求后,进行发现,并返回结果。
[0116]步骤S509,第二跳平台聚合发现结果,并通过查找记录的平台地址,将聚合结果发送到记录的平台(即平台I)。
[0117]步骤S510,第一跳平台将聚合的发现结果返回给发起者。
[0118]实施例六
[0119]本发明实施例提供一种多跳发现资源的方法,该方法应用在资源发现平台侧,如图6所示,所述方法具体包括如下步骤:
[0120]步骤S601,平台接收携带有多跳发现约束条件信息的资源发现请求;所述多跳发现约束条件信息包括:深度跳数限制阈值和总跳数限制阈值;
[0121]步骤S602,平台在本平台进行资源发现,并在所述总跳数限制阈值和深度跳数限制阈值均大于I时,向除上一跳平台外的其他与本平台有注册关系的若干平台i发送资源发现请求;其中,每个所述资源发现请求中携带有包含减一处理的深度跳数限制阈值信息以及分配给该平台i的总跳数限制阈值X ;其中,当平台i存储的平台数小于等于(所述总跳数限制阈值-已分配给其他平台的总平台数)时,X取平台i存储的平台数;否则,X取(所述总跳数限制阈值-已分配给其他平台的总平台数)。
[0122]进一步地,本实施例所述方法中,平台在向除上一跳平台外的其他与本平台有注册关系的若干平台i发送资源发现请求之前,还包括:
[0123]平台向除上一跳平台外的其他与本平台有注册关系的各平台i发起存储平台数获取请求,该请求中携带有所述深度跳数限制阈值,以获取到跳数为所述深度跳数限制阈值的各跳平台上存储的平台数。
[0124]进一步地,本实施例所述方法中,平台将除上一跳平台外的其他与本平台有注册关系的若干平台i反馈的发现结果反馈至本平台的上一跳平台。
[0125]综上所述可知,本发明以在资源发现请求中携带多跳发现约束条件,提出了又一种可以在多个平台上搜索发现资源的解决方案,通过多跳,发起者可以获取到更多更全的资源信息。
[0126]实施例七
[0127]本发明实施例提供一种多跳发现资源的方法,本实施例对请求发起到结果反馈这一发现全过程进行阐述,通过披露更多的技术细节来详细说明实施例六所述方法的具体实施过程。如图7所示,本实施例所述方法包括如下步骤:
[0128]步骤S701,发起者发送资源发现请求,其中携带过滤器,深度跳数限制,如4,以及总跳数限制。
[0129]步骤S702,平台I接收到资源发现请求后,返回在平台I上的发现结果。
[0130]步骤S703,平台1,即第一跳平台向其存储的平台,即第二跳平台发送请求,获取其存储的平台数,其中携带修改后的深度跳数限制,如4-1 = 3。第二跳平台如果存储了除第一跳平台外的其它平台,则继续发送请求,获取下一跳平台存储的平台数,并携带修改后的深度跳数限制,如3-1 = 2 ;直到深度跳数达到限制,如2。
[0131]步骤S704,最后倒数第二跳平台,如第三跳平台返回各自存储的平台数加1,第二跳平台存储第三跳平台返回的跳数并汇总加上自己的跳数,返回给第一跳平台。
[0132]步骤S705,平台根据下一跳平台的返回跳数结果修改总跳数限制,以及修改深度跳数限制。
[0133]以图7所示的系统,举例说明如下:设平台I接收到的请求中携带的总跳数为N ;平台I的下一跳平台为平台2-1,….,平台2-n、以及平台2,假设平台2-1反馈存储的平台数为x21,平台2-2反馈存储的平台数为x22,…平台2-n反馈的平台数为x2n,平台2反馈的存储的平台数为Y,则:
[0134]若N大于等于x21,则平台I向平台2-1发送的请求中携带的总跳数限制即为x21,即其存储的平台数;
[0135]若(N-X21)大于等于x22,则平台I向平台2_2发送的请求中携带的总跳数限制即为x22,即其存储的平台数;
[0136]......
[0137]若(N-x21-x22-----x(2n_l))大于等于x2n,则平台I向平台2_n发送的请求中携带的总跳数限制即为x2n,即其存储的平台数;
[0138]若(N-x21-x22-----x2n)小于Y,则平台I向平台2发送的请求中携带的总跳数限制为 Z_x21_x22-----χ2η。
[0139]本发明根据第二跳平台返回的存储平台数来调整总跳数限制,可以避免无节制的发现过程。
[0140]步骤S706,平台上如果存储着除上一跳平台外的其他平台,则记录上一跳平台,同时获取此平台上存储的其它平台的地址,向除记录的平台外其它平台转发请求,转发的请求中携带修改后的总跳数限制以及修改后的深度跳数限制。
[0141]步骤S707,聚合结果,并通过查找记录的平台地址,将聚合结果发送到记录的平台。
[0142]步骤S708,返回聚合结果给记录的平台,以将结果返回给发起者。
[0143]实施例八
[0144]本发明实施例提供一种资源发现平台,该资源发现平台与实施例一相对应,如图8所示,所述资源发现平台具体包括:
[0145]第一请求接收单元810,用于接收到携带有多跳发现约束条件信息的资源发现请求;
[0146]第一资源发现单元820,用于根据所述多跳发现约束条件信息,在本平台进行资源发现并向注册在本平台上的若干下属平台发起单跳资源发现请求,或者,直接将接收到的所述资源发现请求转发至本平台所注册的某平台上;
[0147]第一结果上报单元830,用于将本平台及各下属平台的发现结果向资源发现发起平台发送。
[0148]基于上述结构框架及实施原理,下面给出在上述结构下的几个具体及优选实施方式,用以细化和优化本发明所述资源发现平台的功能,以使本发明方案的实施更方便,准确。具体涉及如下内容:
[0149]本发明实施例中,多跳发现约束条件信息包括:广度跳数限制信息和重复发现指示信息。
[0150]进一步地,本发明实施例中,第一资源发现单元820根据所述重复发现指示信息判断是否要在本平台进行发现,若是,则在本平台进行资源发现并按照所述广度跳数限制信息,向下属平台发起单跳资源发现请求;否则,直接将接收到的所述资源发现请求转发至本平台所注册的某平台上。
[0151]进一步地,本发明实施例中,所述重复发现指示信息包括:发现标识;
[0152]第一资源发现单元820进一步用于检测本地是否存储有所述发现标识,若是,则判定不需要在本平台进行发现;否则,存储所述发现标识,判定需要在本平台进行发现。
[0153]进一步地,本发明实施例中,所述第一结果上报单元830按照所述资源发现请求传递路径,将本平台及各下属平台的发现结果向资源发现发起平台发送。
[0154]实施例九
[0155]本发明实施例提供一种资源发现发起平台,该资源发现发起平台与实施例二相对应,如图9所示,所述资源发现发起平台包括:
[0156]请求发送单元910,用于向第一跳平台发起资源发现请求;所述资源发现请求中携带有多跳发现约束条件信息,以供接收请求的平台进行本平台发现或将请求转发至下一平台的判断;
[0157]发现管理单元920,用于获取某平台反馈的发现结果,并在该发现结果不满足设定的终止条件时,沿所述第一跳平台至所述某平台的原路径继续发起对所述某平台的下一平台的资源发现请求。
[0158]其中,当发现管理单元920判定出反馈的发现结果满足设定的终止条件时,结束发现流程。
[0159]经过实施例八、九的阐述可知,本发明以在资源发现请求中携带多跳发现约束条件,提出了一种可以在多个平台上搜索发现资源的解决方案,通过多跳,发起者可以获取到更多更全的资源信息。
[0160]实施例十
[0161]本发明实施例提供一种资源发现平台,与实施例四对应,如图10所示,包括:
[0162]第二请求接收单元1010,用于接收到携带有多跳发现约束条件信息的资源发现请求;
[0163]第二资源发现单元1020,用于在本平台进行资源发现,并将发现结果反馈至上一跳平台,以及根据所述多跳发现约束条件信息,判断出本平台不是最后一跳时,向除上一跳平台外的其他与本平台有注册关系的若干平台发送资源发现请求;其中,资源发现请求中携带有更新的多跳发现约束条件信息。
[0164]基于上述结构框架及实施原理,下面给出在上述结构下的几个具体及优选实施方式,用以细化和优化本发明所述资源发现平台的功能,以使本发明方案的实施更方便,准确。具体涉及如下内容:
[0165]本发明实施例中,多跳发现约束条件信息包括:广度跳数限制信息和深度跳数限制信息。
[0166]进一步地,本发明实施例中,第二资源发现单元1020根据所述深度跳数限制信息判断本平台是否为最后一跳,当不是最后一跳时,根据所述广度跳数限制信息,向除上一跳平台外的其他与本平台有注册关系的平台发送资源发现请求。
[0167]进