一种资源发现的方法及装置与流程

文档序号:20839705发布日期:2020-05-22 17:20阅读:129来源:国知局
一种资源发现的方法及装置与流程

本发明涉及通信网络技术领域,尤其涉及一种资源发现的方法及装置。



背景技术:

随着物联网技术的快速发展,m2m(machine-to-machinecommunications,机器通信)已经在越来越多的行业和领域得到丰富的应用,为满足对不同行业应用服务的需要,开发了统一的m2m平台实现部分公共能力,例如资源发现功能。

m2m平台具体可以为onem2m平台,目前onem2m架构中进行资源发现的方法为当onem2m系统中的cse(commonserviceentity,公共业务实体)接收到资源发现请求消息时,根据请求消息的目的地址确定资源发现的范围,进而查找符合过滤条件的资源,在响应消息中返回符合条件的资源的uri(universalresourceidentifier,通用资源标识符),然后请求者会根据uri向每个资源发送具体的操作请求,请求者每次需要对这些资源进行操作时,都需分别向每个资源发送操作请求。或者请求者可以在接收到uri后,再发送创建群组的请求,将符合条件的资源作为群组成员创建群组后,请求者再向群组发送操作请求。无论是否创建了群组,请求者与cse之间都需多次进行信息交互,导致网络开销大。



技术实现要素:

本发明的实施例提供一种资源发现的方法及装置,可以解决现有技术资源发现过程中网络开销大的问题。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,本发明实施例提供一种资源发现的方法,包括:

服务器接收客户端发送的第一资源发现请求消息,所述第一资源发现请求消息中携带创建群组指示和过滤条件;

所述服务器根据所述第一资源发现请求消息查找资源;

当所述创建群组指示为创建静态群组时,创建静态群组,将查找到的资源作为静态群组的成员;

当所述创建群组指示为创建动态群组时,创建动态群组,将所述第一资源发现请求消息中的过滤条件设置为用于确定所述动态群组成员的过滤条件,将查找到的满足过滤条件的资源作为动态群组成员;

所述服务器向所述客户端发送第一响应消息,所述第一响应消息中携带已创建群组的通用资源标识符uri。

在第一种可能的实施例中,结合第一方面,所述方法还包括:

当所述创建群组指示为不创建群组时,所述服务器向所述客户端发送第二响应消息,所述第二响应消息中携带查找到的资源的uri。

在第二种可能的实施例中,结合第一方面中的第一种可能的实施例,所述服务器向所述客户端发送第一响应消息,包括:

所述服务器判断所述第一资源发现请求消息中是否存在结果类型参数;

当存在结果类型参数,且所述结果类型参数为uri时,所述服务器向所述客户端发送携带已创建群组的uri和查找到的资源的uri的第一响应消息;

当存在结果类型参数,且所述结果类型参数为内容content时,所述服务器向所述客户端发送携带已创建群组的uri和查找到的资源的内容的第一响应消息;

当所述第一资源发现请求消息中不存在结果类型参数时,所述服务器向所述客户端发送携带已创建群组的uri的第一响应消息。

在第三种可能的实施例中,结合第一方面中的第二种可能的实施例,所述服务器向所述客户端发送第二响应消息,包括:

所述服务器判断所述第一资源发现请求消息中是否存在结果类型参数;

当存在结果类型参数,且所述结果类型参数为content时,所述服务器向所述客户端发送携带查找到的资源的内容的第二响应消息;

当存在结果类型参数,且所述结果类型参数为uri,或者所述第一资源发现请求消息中不存在结果类型参数时,所述服务器向所述客户端发送携带查找到的资源的uri的第二响应消息。

在第四种可能的实施例中,结合第一方面中的第三种可能的实施例,所述第一资源发现请求消息中还包括资源发现范围,所述服务器根据所述第一资源发现请求消息查找资源,包括:

所述服务器根据所述第一资源发现请求消息确定资源发现范围;

当所述资源发现范围中包括本地地址时,所述服务器在本地范围内查找符合过滤条件的资源;

对符合过滤条件的资源执行第一资源发现请求消息指定的操作;

当所述资源发现范围中包括远程地址时,所述服务器向远程地址服务器发送第二资源发现请求消息,所述第二资源发现请求消息中的过滤条件与所述第一资源发现请求中的过滤条件相同;

所述服务器接收所述远程服务器发送的第三响应消息,所述第三响应消息中携带远程资源发现结果,所述远程资源发现结果包括所述远程服务器已创建群组的uri和/或所述远程服务器查找到的资源的uri,或者所述远程资源发现结果包括所述远程服务器已创建群组的uri和/或所述远程服务器查找到的资源的内容。

在第五种可能的实施例中,结合第一方面中的第四种可能的实施例,所述服务器根据所述第一资源发现请求消息确定资源发现范围,包括:

当所述服务器确定所述第一资源发现请求消息中包括范围参数时,确定所述资源发现范围为所述范围参数指定的范围;

当所述服务器确定所述第一资源发现请求消息中不包括范围参数时,确定所述资源发现范围为所述第一资源发现请求消息的目的地址所包含的范围。

在第六种可能的实施例中,结合第一方面或第一方面中上述任一种可能的实施例,所述动态群组的属性至少包括以下属性中的任一种:

指定范围,用于指示所述服务器在所述指定范围内查找动态群组成员;

所述过滤条件,用于指示动态群组成员应满足的条件;

刷新周期,用于指示所述服务器每隔所述刷新周期查找并更新一次动态群组成员;

群组成员列表,用于存储每次查找到的动态群组成员的uri。

第二方面,本发明实施例提供一种资源发现的装置,包括:

接收单元,用于接收客户端发送的第一资源发现请求消息,所述第一资源发现请求消息中携带创建群组指示和过滤条件;

查找单元,用于根据所述接收单元接收到的所述第一资源发现请求消息查找资源;

创建单元,用于当所述创建群组指示为创建静态群组时,创建静态群组,将所述查找单元查找到的资源作为静态群组的成员;当所述创建群组指示为创建动态群组时,创建动态群组,将所述接收单元接收到的所述第一资源发现请求消息中的过滤条件设置为用于确定所述动态群组成员的过滤条件,将所述查找单元查找到的满足过滤条件的资源作为动态群组成员;

发送单元,用于向所述客户端发送第一响应消息,所述第一响应消息中携带已创建群组的通用资源标识符uri。

在第一种可能的实施例中,结合第二方面,

所述创建单元,还用于当所述创建群组指示为不创建群组时,向所述客户端发送第二响应消息,所述第二响应消息中携带查找到的资源的uri。

在第二种可能的实施例中,结合第二方面中的第一种可能的实施例,

所述发送单元,还用于判断所述第一资源发现请求消息中是否存在结果类型参数;当存在结果类型参数,且所述结果类型参数为uri时,向所述客户端发送携带已创建群组的uri和查找到的资源的uri的第一响应消息;当存在结果类型参数,且所述结果类型参数为内容content时,发送携带已创建群组的uri和查找到的资源的内容的第一响应消息;当所述第一资源发现请求消息中不存在结果类型参数时,向所述客户端发送携带已创建群组的uri的第一响应消息。

在第三种可能的实施例中,结合第二方面中的第二种可能的实施例,

所述发送单元,还用于判断所述第一资源发现请求消息中是否存在结果类型参数;当存在结果类型参数,且所述结果类型参数为content时,向所述客户端发送携带查找到的资源的内容的第二响应消息;当存在结果类型参数,且所述结果类型参数为uri,或者所述第一资源发现请求消息中不存在结果类型参数时,向所述客户端发送携带查找到的资源的uri的第二响应消息。

在第四种可能的实施例中,结合第二方面中的第三种可能的实施例,所述第一资源发现请求消息中还包括资源发现范围;所述查找单元,包括:

确定模块,用于根据所述第一资源发现请求消息确定资源发现范围;

查找模块,用于当所述资源发现范围中包括本地地址时,在本地范围内查找符合过滤条件的资源;

执行模块,用于对符合过滤条件的资源执行第一资源发现请求消息指定的操作;

发送模块,用于当所述资源发现范围中包括远程地址时,向远程地址服务器发送第二资源发现请求消息,所述第二资源发现请求消息中的过滤条件与所述第一资源发现请求中的过滤条件相同;

接收模块,用于接收所述远程服务器发送的第三响应消息,所述第三响应消息中携带远程资源发现结果,所述远程资源发现结果包括所述远程服务器已创建群组的uri和/或所述远程服务器查找到的资源的uri,或者所述远程资源发现结果包括所述远程服务器已创建群组的uri和/或所述远程服务器查找到的资源的内容。

在第五种可能的实施例中,结合第二方面中的第四种可能的实施例,

所述确定模块,还用于当所述第一资源发现请求消息中包括范围参数时,确定所述资源发现范围为所述范围参数指定的范围;当所述第一资源发现请求消息中不包括范围参数时,确定所述资源发现范围为所述第一资源发现请求消息的目的地址所包含的范围。

在第六种可能的实施例中,结合第二方面或第二方面中上述任一种可能的实施例,所述动态群组的属性至少包括以下属性中的任一种:

指定范围,用于指示所述服务器在所述指定范围内查找动态群组成员;

所述过滤条件,用于指示动态群组成员应满足的条件;

刷新周期,用于指示所述服务器每隔所述刷新周期查找并更新一次动态群组成员;

群组成员列表,用于存储每次查找到的动态群组成员的uri。

第三方面,本发明实施例提供一种资源发现的装置,所述装置为服务器或集成在服务器中,所述装置包括:

存储器,用于存储包括程序指令的信息;

接收器,用于接收客户端发送的第一资源发现请求消息,所述第一资源发现请求消息中携带创建群组指示和过滤条件;

处理器,与所述存储器、所述接收器和发送器耦合,用于控制所述程序指令的执行,具体用于根据所述第一资源发现请求消息查找资源;当所述创建群组指示为创建静态群组时,创建静态群组,将查找到的资源作为静态群组的成员;当所述创建群组指示为创建动态群组时,创建动态群组,将所述第一资源发现请求消息中的过滤条件设置为用于确定所述动态群组成员的过滤条件,将查找到的满足过滤条件的资源作为动态群组成员;

所述发送器,用于向所述客户端发送第一响应消息,所述第一响应消息中携带已创建群组的通用资源标识符uri。

在第一种可能的实施例中,结合第三方面,

所述发送器,还用于当所述创建群组指示为不创建群组时,向所述客户端发送第二响应消息,所述第二响应消息中携带查找到的资源的uri。

在第二种可能的实施例中,结合第三方面中的第一种可能的实施例,

所述处理器,还用于判断所述第一资源发现请求消息中是否存在结果类型参数,并将判断结果发送给所述发送器;

所述发送器,还用于当存在结果类型参数,且所述结果类型参数为uri时,向所述客户端发送携带已创建群组的uri和查找到的资源的uri的第一响应消息;当存在结果类型参数,且所述结果类型参数为内容content时,发送携带已创建群组的uri和查找到的资源的内容的第一响应消息;当所述第一资源发现请求消息中不存在结果类型参数时,向所述客户端发送携带已创建群组的uri的第一响应消息。

在第三种可能的实施例中,结合第三方面中的第二种可能的实施例,

所述处理器,还用于判断所述第一资源发现请求消息中是否存在结果类型参数,并将判断结果发送给所述发送器;

所述发送器,还用于当存在结果类型参数,且所述结果类型参数为content时,向所述客户端发送携带查找到的资源的内容的第二响应消息;当存在结果类型参数,且所述结果类型参数为uri,或者所述第一资源发现请求消息中不存在结果类型参数时,向所述客户端发送携带查找到的资源的uri的第二响应消息。

在第四种可能的实施例中,结合第三方面中的第三种可能的实施例,所述第一资源发现请求消息中还包括资源发现范围;

所述处理器,还用于根据所述第一资源发现请求消息确定资源发现范围;当所述资源发现范围中包括本地地址时,在本地范围内查找符合过滤条件的资源;对符合过滤条件的资源执行第一资源发现请求消息指定的操作;

所述发送器,还用于当所述资源发现范围中包括远程地址时,向远程地址服务器发送第二资源发现请求消息,所述第二资源发现请求消息中的过滤条件与所述第一资源发现请求中的过滤条件相同;

所述接收器,还用于接收所述远程服务器发送的第三响应消息,所述第三响应消息中携带远程资源发现结果,所述远程资源发现结果包括所述远程服务器已创建群组的uri和/或所述远程服务器查找到的资源的uri,或者所述远程资源发现结果包括所述远程服务器已创建群组的uri和/或所述远程服务器查找到的资源的内容。

在第五种可能的实施例中,结合第三方面中的第四种可能的实施例,

所述处理器,还用于当所述第一资源发现请求消息中包括范围参数时,确定所述资源发现范围为所述范围参数指定的范围;当所述第一资源发现请求消息中不包括范围参数时,确定所述资源发现范围为所述第一资源发现请求消息的目的地址所包含的范围。

在第六种可能的实施例中,结合第三方面或第三方面中的上述任一种可能的实施例,所述动态群组的属性至少包括以下属性中的任一种:

指定范围,用于指示所述服务器在所述指定范围内查找动态群组成员;

所述过滤条件,用于指示动态群组成员应满足的条件;

刷新周期,用于指示所述服务器每隔所述刷新周期查找并更新一次动态群组成员;

群组成员列表,用于存储每次查找到的动态群组成员的uri。

本发明实施例提供的资源发现的方法及装置,服务器接收客户端发送的第一资源发现请求消息,根据第一资源发现请求消息查找资源,当创建群组指示为创建静态群组时,创建静态群组,将查找到的资源作为静态群组的成员,当创建群组指示为创建动态群组时,创建动态群组,将第一资源发现请求消息中的过滤条件设置为用于确定动态群组的过滤条件,最后向客户端发送携带已创建群组的uri的第一响应消息。与现有技术中多次信息交互导致网络开销大相比,本发明实施例可根据第一资源发现请求消息完成资源发现以及创建群组的工作,无需服务器与客户端之间多次进行信息交互,可以节省网络开销。

附图说明

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

图1为本发明实施例提供的一种资源发现的方法的流程图;

图2为本发明实施例提供的另一种资源发现的方法的流程图;

图3为本发明实施例提供的另一种资源发现的方法的流程图;

图4为本发明实施例提供的另一种资源发现的方法的流程图;

图5为本发明实施例提供的一种资源发现的装置的逻辑结构示意图;

图6为本发明实施例提供的另一种资源发现的装置的逻辑结构示意图;

图7为本发明实施例提供的资源发现的方法中服务器的逻辑结构示意图。

具体实施方式

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

为了减小资源发现过程中的网络开销,本发明实施例提供一种资源发现的方法,该方法应用于onem2m系统中服务器根据客户端的请求进行资源发现的过程中,如图1所示,该方法包括:

101、服务器接收客户端发送的第一资源发现请求消息。

其中,第一资源发现请求消息中包括创建群组指示和过滤条件。创建群组指示用于指示是否创建群组,以及创建动态群组还是创建静态群组。过滤条件为用于资源发现的过滤条件,服务器需发现满足过滤条件的资源。

值得说明的是,当服务器接收到的请求消息中携带filterusage(过滤使用)参数时,则可确定该请求消息为第一资源发现请求消息,或者第一资源发现请求消息为发送到discovery(发现)资源中的请求消息。

102、服务器根据第一资源发现请求消息查找资源。

103、当创建群组指示为创建静态群组时,创建静态群组,将查找到的资源作为静态群组的成员。

其中,可通过扩展filterusage参数来承载创建群组指示,当filterusage参数值为creategrp或者为createdycgrp时表示服务器在执行资源发现操作以后还需要进一步创建创群组,creategrp代表需创建静态群组,createdycgrp代表需创建动态群组。

或者,本发明实施例还可以通过在第一资源发现请求消息中新增iscreategrp参数,当iscreategrp参数值为true时,代表服务器在执行资源发现操作以后还需进一步创建群组。

另外,还可以通过在第一资源发现请求消息中新增grouptype(群组类型)参数,当grouptype参数为staticgroup时表示创建静态群组,当grouptype为dynamicgrp时表示创建动态群组。

104、当创建群组指示为创建动态群组时,创建动态群组,将第一资源发现请求消息中的过滤条件设置为用于确定动态群组成员的过滤条件,将查找到的满足过滤条件的资源作为动态群组成员。

需要说明的是,由于现有的onem2m标准中并没有定义动态群组,所以本发明实施例可以在现有的群组资源基础上新增filtercriteria属性来标识动态群组资源,当群组资源中包含filtercriteria属性时,表示该群组为动态群组。

其中,动态群组的属性至少包括以下属性中的任一种:

指定范围,用于指示服务器在指定范围内查找动态群组成员。

过滤条件,用于指示动态群组成员应满足的条件。

刷新周期,用于指示服务器每隔刷新周期查找并更新一次动态群组成员。

群组成员列表,用于存储每次查找到的动态群组成员的uri。

进一步需要说明的是,动态群组成员是在指定范围内发现满足过滤条件的资源,然后将这些资源作为动态群组的成员。

105、服务器向客户端发送第一响应消息,第一响应消息中携带已创建群组的通用资源标识符uri。

需要说明的是,当第一资源发现请求消息中存在结果类型参数时,服务器需根据结果类型参数向客户端发送第一响应消息。具体的实现方式为:

服务器判断第一资源发现请求消息中是否存在结果类型参数。

当存在结果类型参数,且结果类型参数为uri时,服务器向客户端发送携带已创建群组的uri和查找到的资源的uri的第一响应消息;

当存在结果类型参数,且结果类型参数为内容content时,服务器向客户端发送携带已创建群组的uri和查找到的资源的内容的第一响应消息;

当第一资源发现请求消息中不存在结果类型参数时,服务器向客户端发送携带已创建群组的uri的第一响应消息。

本发明实施例提供的资源发现的方法,服务器接收客户端发送的第一资源发现请求消息,根据第一资源发现请求消息查找资源,当创建群组指示为创建静态群组时,创建静态群组,将查找到的资源作为静态群组的成员,当创建群组指示为创建动态群组时,创建动态群组,将第一资源发现请求消息中的过滤条件设置为用于确定动态群组的过滤条件,最后向客户端发送携带已创建群组的uri的第一响应消息。与现有技术中多次信息交互导致网络开销大相比,本发明实施例可根据第一资源发现请求消息完成资源发现以及创建群组的工作,无需服务器与客户端之间多次进行信息交互,可以节省网络开销。

结合图1所示的方法流程,在本发明实施例的另一种实现方式中,还提供一种无需创建群组时的服务器应执行的操作,如图2所示,在图1的基础上,该方法还包括步骤106。

106、当创建群组指示为不创建群组时,服务器向客户端发送第二响应消息,第二响应消息中携带查找到的资源的uri。

值得说明的是,本步骤可由另一种实现方式实现,当无需创建群组时,服务器不会收到客户端发送的创建群组指示,即在服务器接收到客户端发送的第一资源发现请求消息之后,会检测第一资源发现请求消息中是否包含群组创建指示,若包含,则执行上述步骤103或104,根据群组创建指示创建相应的群组,若不包含,则向客户端发送第二响应消息。

当第一资源发现请求消息中存在结果类型参数时,服务器需根据结果类型参数向客户端发送第二响应消息。具体的实现方式为:

服务器判断第一资源发现请求消息中是否存在结果类型参数;

当存在结果类型参数,且结果类型参数为content时,服务器向客户端发送携带查找到的资源的内容的第二响应消息;

当存在结果类型参数,且结果类型参数为uri,或者第一资源发现请求消息中不存在结果类型参数时,服务器向客户端发送携带查找到的资源的uri的第二响应消息。

结合图1或图2,为了提供服务器根据第一资源发现请求消息发现资源的方法,在本发明实施例提供的另一种实现方式中,第一资源发现请求消息中还包括资源发现范围,如图3所示,上述步骤102具体可以实现为步骤301至步骤304。

301、服务器根据第一资源发现请求消息确定资源发现范围。

其中,当服务器确定第一资源发现请求消息中包括范围参数时,确定资源发现范围为范围参数指定的范围;

当服务器确定第一资源发现请求消息中不包括范围参数时,确定资源发现范围为第一资源发现请求消息的目的地址所包含的范围。

302、当资源发现范围中包括本地地址时,服务器在本地范围内查找符合过滤条件的资源。

假设过滤条件为creator=sam,resourcetype=container,服务器将根据请求消息在指定的本地范围内发现满足符合creator属性为sam并且resourcetype为container等条件的资源。当过滤条件为空时,资源发现范围内的所有资源都是符合条件的资源。

值得说明的是,本步骤中的过滤条件可以为第一资源发现请求消息中的过滤条件,或者,当第一资源发现请求消息的目的地址为动态群组时,过滤条件可以为第一资源发现请求消息中携带的过滤条件和动态群组的过滤条件的组合。

303、对符合条件的资源执行第一资源发现请求消息指定的操作。

其中,第一资源发现请求消息指定的操作包括获取资源、更新资源、删除资源、创建资源中的任意一种,当指定的操作为获取资源时,则可直接执行上述步骤105,当指定的操作为更新资源、删除资源或者创建资源时,则对符合过滤条件的资源执行更新、删除或者创建子资源的操作。

304、当资源发现范围中包括远程地址时,服务器向远程地址服务器发送第二资源发现请求消息,第二资源发现请求消息中的过滤条件与第一发现请求中的过滤条件相同。

其中,远程地址服务器为远程地址对应的服务器,第二资源发现请求消息的目的地址为该远程地址。

需要说明的是,在本步骤的另一种实现方式中,当确定资源发现范围中包括远程地址时,还需进一步根据过滤条件判断是否需要进行远程资源发现,例如,当过滤条件中指示至多需要两个符合过滤条件的资源时,如果步骤302中已经查找到两个符合过滤条件的资源,则服务器无需向远程地址服务器发送第二资源发现请求消息。此外,如果资源发现范围中既包括本地地址又包括远程地址,则服务器既需要在本地范围内发现资源,又需向远程地址服务器发送第二资源发现请求消息。

还需说明的是,当第一资源发现请求消息中包括结果类型参数和群组创建指示时,则第二资源发现请求消息中需包括相同的结果类型参数和群组创建指示。

远程地址服务器接收到第二资源发现请求消息时,与服务器根据第一资源发现请求消息发现资源的方法相同。

305、服务器接收远程服务器发送的第三响应消息,第三响应消息中携带远程资源发现结果。

其中,远程资源发现结果包括远程服务器已创建群组的uri和/或远程服务器查找到的资源的uri,或者远程资源发现结果包括远程服务器已创建群组的uri和/或远程服务器查找到的资源的内容。

当第二资源发现请求消息中不包含结果类型参数,且包含的群组创建指示为创建动态群组或者创建静态群组时,远程资源发现结果为创建的群组的uri。

当第二资源发现请求消息中不包含结果类型参数,且包含的群组创建指示为不创建群组,或者不包含群组创建指示时,远程资源发现结果为发现的资源的uri。

当第二资源发现请求中包括结果类型参数时,确定第三响应消息中携带的远程资源发现结果的方法与上述步骤105与步骤106中描述的方法相同,此处不再赘述。

本发明实施例提供的资源发现的方法,服务器根据第一资源发现请求消息确定资源发现范围,并在资源发现范围内查找符合条件的资源,进而对符合条件的资源执行第一资源发现请求指定的操作,当资源发现范围中包含远程地址时,服务器也能向远程地址服务器发送第二资源发现请求,只需接收客户端的一个消息就能够完成资源发现以及对资源的操作,无需进行多次信息交互,可以节省网络开销。

以下以客户端向服务器cse1请求资源发现的流程为例描述本发明实施例提供的资源发现的方法,如图4所示,该方法包括:

401、客户端向cse1发送第一资源发现请求消息。

其中,该第一资源发现请求消息中携带的目的地址为:http://cse1.example.org/mygroup,范围参数为:http://cse1.example.org/mygroup、http://cse2.example.org/myapp1、http://cse3.example.org/smartapp,过滤条件为:creator=sam,createdbefore=2014-12-20,并且filterusage=creategrp。根据过滤条件和范围参数可以确定客户端希望在cse1的mygroup、cse2的myapp1以及cse3的smartapp范围内发现sam在2014-12-20之前创建的资源。

由于客户端将第一资源发现请求消息发送至cse1,对于cse1而言,cse1的地址为本地地址,cse2和cse3的地址为远程地址。

402、cse1分别向cse2和cse3发送第二资源发现请求消息。

403、cse1、cse2和cse3分别根据各自接收到的资源发现请求消息查找资源。

其中,查找资源的过程参见图3所示的方法流程,此处不再赘述。

需要说明的是,cse1查找资源的过程也可以执行于步骤402之前,或者与步骤402同时进行,本发明对此不作限制。

404、cse2和cse3分别向cse1发送第三响应消息,第三响应消息中携带资源发现结果。

例如,cse1发现的资源为cse1/smartapp/a,cse2发现的资源为cse2/myapp1/a,cse2/myapp1/b,cse3发现的资源为cse3/smartapp/b,cse3/smartapp/c。

当第二资源发现请求消息中未携带创建群组指示时,cse1接收到的第三响应消息中携带上述cse2和cse2发现的资源的uri。

当第二资源发现请求消息中携带创建群组指示时,则cse1接收到的cse2和cse3发送的第三响应消息中都会携带群组的uri,例如cse2中群组的uri为cse2/myapp1/<groupname>,cse3中群组的uri为cse3/smartapp/<groupname>。

405、cse1根据第一资源发现请求消息中的群组创建指示创建群组。

以群组创建指示为创建静态群组为例,结合步骤404中的描述,当cse2和cse3未创建群组时,cse1创建的群组资源中包括5个群组成员,分别为:cse1/smartapp/a,cse2/myapp1/a,cse2/myapp1/b,cse3/smartapp/b,cse3/smartapp。该群组的uri为http://cse1.example.org/mygroup/<groupname>。

当cse2和cse3已创建群组时,cse1创建的群组资源中除了包含群组成员cse1/smartapp/a外,还包含两个子群组成员,分别为:cse2/myapp1/<groupname>,cse3/smartapp/<groupname>。

406、cse1向客户端发送第一响应消息,第一响应消息中携带cse1创建的群组的uri。

本发明实施例提供的资源发现的方法,服务器接收客户端发送的第一资源发现请求消息,根据第一资源发现请求消息查找资源,当创建群组指示为创建静态群组时,创建静态群组,将查找到的资源作为静态群组的成员,当创建群组指示为创建动态群组时,创建动态群组,将第一资源发现请求消息中的过滤条件设置为用于确定动态群组的过滤条件,最后向客户端发送携带已创建群组的uri的第一响应消息。与现有技术中多次信息交互导致网络开销大相比,本发明实施例可根据第一资源发现请求消息完成资源发现以及创建群组的工作,无需服务器与客户端之间多次进行信息交互,可以节省网络开销。

结合上述方法流程,本发明实施例还提供一种资源发现的装置,该装置应用于服务器中,如图5所示,该装置包括:接收单元501,查找单元502,创建单元503,发送单元504。

接收单元501,用于接收客户端发送的第一资源发现请求消息,第一资源发现请求消息中携带创建群组指示和过滤条件;

查找单元502,用于根据接收单元501接收到的第一资源发现请求消息查找资源;

创建单元503,用于当创建群组指示为创建静态群组时,创建静态群组,将查找单元502查找到的资源作为静态群组的成员;当创建群组指示为创建动态群组时,创建动态群组,将接收单元501接收到的第一资源发现请求消息中的过滤条件设置为用于确定动态群组成员的过滤条件,将查找单元502查找到的满足过滤条件的资源作为动态群组成员;

动态群组的属性至少包括以下属性中的任一种:

指定范围,用于指示服务器在指定范围内查找动态群组成员;

过滤条件,用于指示动态群组成员应满足的条件;

刷新周期,用于指示服务器每隔刷新周期查找并更新一次动态群组成员;

群组成员列表,用于存储每次查找到的动态群组成员的uri。

发送单元504,用于向客户端发送第一响应消息,第一响应消息中携带已创建群组的通用资源标识符uri。

在本发明另一实施例中,发送单元504,还用于当创建群组指示为不创建群组时,向客户端发送第二响应消息,第二响应消息中携带查找到的资源的uri。

在本发明另一实施例中,发送单元504,还用于判断第一资源发现请求消息中是否存在结果类型参数;当存在结果类型参数,且结果类型参数为uri时,向客户端发送携带已创建群组的uri和查找到的资源的uri的第一响应消息;当存在结果类型参数,且结果类型参数为内容content时,发送携带已创建群组的uri和查找到的资源的内容的第一响应消息;当第一资源发现请求消息中不存在结果类型参数时,向客户端发送携带已创建群组的uri的第一响应消息。

在本发明另一实施例中,发送单元504,还用于判断第一资源发现请求消息中是否存在结果类型参数;当存在结果类型参数,且结果类型参数为content时,向客户端发送携带查找到的资源的内容的第二响应消息;当存在结果类型参数,且结果类型参数为uri,或者第一资源发现请求消息中不存在结果类型参数时,向客户端发送携带查找到的资源的uri的第二响应消息。

在本发明另一实施例中,如图6所示,第一资源发现请求消息中还包括资源发现范围;查找单元502,包括:确定模块5021,查找模块5022,执行模块5023,发送模块5024,接收模块5025。

确定模块5021,用于根据第一资源发现请求消息确定资源发现范围;

查找模块5022,用于当确定模块5021确定的资源发现范围中包括本地地址时,在本地范围内查找符合过滤条件的资源;

执行模块5023,用于对符合过滤条件的资源执行第一资源发现请求消息指定的操作;

发送模块5024,用于当确定模块5021确定的资源发现范围中包括远程地址时,向远程地址服务器发送第二资源发现请求消息,第二资源发现请求消息中的过滤条件与第一资源发现请求中的过滤条件相同;

接收模块5025,用于接收远程服务器发送的第三响应消息,第三响应消息中携带远程资源发现结果,远程资源发现结果包括远程服务器已创建群组的uri和/或远程服务器查找到的资源的uri,或者远程资源发现结果包括远程服务器已创建群组的uri和/或远程服务器查找到的资源的内容。

确定模块5021,还用于当第一资源发现请求消息中包括范围参数时,确定资源发现范围为范围参数指定的范围;当第一资源发现请求消息中不包括范围参数时,确定资源发现范围为第一资源发现请求消息的目的地址所包含的范围。

本发明实施例提供的资源发现的装置,接收单元接收客户端发送的第一资源发现请求消息,查找单元根据第一资源发现请求消息查找资源,当创建群组指示为创建静态群组时,创建单元创建静态群组,将查找到的资源作为静态群组的成员,当创建群组指示为创建动态群组时,创建单元创建动态群组,将第一资源发现请求消息中的过滤条件设置为用于确定动态群组的过滤条件,最后发送单元向客户端发送携带已创建群组的uri的第一响应消息。与现有技术中多次信息交互导致网络开销大相比,本发明实施例可根据第一资源发现请求消息完成资源发现以及创建群组的工作,无需服务器与客户端之间多次进行信息交互,可以节省网络开销。

本发明实施例还提供一种资源发现的装置,如图7所示,图7为图5描述的服务器的硬件结构示意图。其中,服务器可包括存储器701、发送器702、处理器703、总线704和接收器705,其中,存储器701、发送器702、处理器703、接收器705通过总线704通信连接。

存储器701可以是只读存储器(readonlymemory,rom),静态存储设备,动态存储设备或者随机存取存储器(randomaccessmemory,ram)。存储器701可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器701中,并由处理器703来执行。

发送器702和接收器705用于装置与其他设备或通信网络(例如但不限于以太网,无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetwork,wlan)等)之间的通信。

处理器703可以采用通用的中央处理器(centralprocessingunit,cpu),微处理器,应用专用集成电路(applicationspecificintegratedcircuit,asic),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。

应注意,尽管图7所示的硬件仅仅示出了存储器701、发送器702、接收器705和处理器703以及总线704,但是在具体实现过程中,本领域的技术人员应当明白,该第一基站还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,还可包含实现其他功能的硬件器件。

具体的,图7所示的服务器用于实现图5实施例所示的装置时,该装置中的存储器701,用于存储包括程序指令的信息;

接收器705,用于接收客户端发送的第一资源发现请求消息,第一资源发现请求消息中携带创建群组指示和过滤条件;

处理器703,与存储器701、接收器705和发送器702耦合,用于控制程序指令的执行,具体用于根据第一资源发现请求消息查找资源;当创建群组指示为创建静态群组时,创建静态群组,将查找到的资源作为静态群组的成员;当创建群组指示为创建动态群组时,创建动态群组,将第一资源发现请求消息中的过滤条件设置为用于确定动态群组成员的过滤条件,将查找到的满足过滤条件的资源作为动态群组成员;

其中,动态群组的属性至少包括以下属性中的任一种:

指定范围,用于指示服务器在指定范围内查找动态群组成员;

过滤条件,用于指示动态群组成员应满足的条件;

刷新周期,用于指示服务器每隔刷新周期查找并更新一次动态群组成员;

群组成员列表,用于存储每次查找到的动态群组成员的uri。

发送器702,用于向客户端发送第一响应消息,第一响应消息中携带已创建群组的通用资源标识符uri。

在本发明另一实施例中,发送器702,还用于当创建群组指示为不创建群组时,向客户端发送第二响应消息,第二响应消息中携带查找到的资源的uri。

在本发明另一实施例中,处理器703,还用于判断第一资源发现请求消息中是否存在结果类型参数,并将判断结果发送给发送器702;

发送器702,还用于当存在结果类型参数,且结果类型参数为uri时,向客户端发送携带已创建群组的uri和查找到的资源的uri的第一响应消息;当存在结果类型参数,且结果类型参数为内容content时,发送携带已创建群组的uri和查找到的资源的内容的第一响应消息;当第一资源发现请求消息中不存在结果类型参数时,向客户端发送携带已创建群组的uri的第一响应消息。

在本发明另一实施例中,处理器703,还用于判断第一资源发现请求消息中是否存在结果类型参数,并将判断结果发送给发送器702;

发送器702,还用于当存在结果类型参数,且结果类型参数为content时,向客户端发送携带查找到的资源的内容的第二响应消息;当存在结果类型参数,且结果类型参数为uri,或者第一资源发现请求消息中不存在结果类型参数时,向客户端发送携带查找到的资源的uri的第二响应消息。

在本发明另一实施例中,第一资源发现请求消息中还包括资源发现范围;

处理器703,还用于根据第一资源发现请求消息确定资源发现范围;当资源发现范围中包括本地地址时,在本地范围内查找符合过滤条件的资源;对符合过滤条件的资源执行第一资源发现请求消息指定的操作;

发送器702,还用于当资源发现范围中包括远程地址时,向远程地址服务器发送第二资源发现请求消息,第二资源发现请求消息中的过滤条件与第一资源发现请求中的过滤条件相同;

接收器705,还用于接收远程服务器发送的第三响应消息,第三响应消息中携带远程资源发现结果,远程资源发现结果包括远程服务器已创建群组的uri和/或远程服务器查找到的资源的uri,或者远程资源发现结果包括远程服务器已创建群组的uri和/或远程服务器查找到的资源的内容。

在本发明另一实施例中,处理器703,还用于当第一资源发现请求消息中包括范围参数时,确定资源发现范围为范围参数指定的范围;当第一资源发现请求消息中不包括范围参数时,确定资源发现范围为第一资源发现请求消息的目的地址所包含的范围。

本发明实施例提供的资源发现的装置,接收器接收客户端发送的第一资源发现请求消息,处理器根据第一资源发现请求消息查找资源,当创建群组指示为创建静态群组时,创建静态群组,将查找到的资源作为静态群组的成员,当创建群组指示为创建动态群组时,创建动态群组,将第一资源发现请求消息中的过滤条件设置为用于确定动态群组的过滤条件,最后发送器向客户端发送携带已创建群组的uri的第一响应消息。与现有技术中多次信息交互导致网络开销大相比,本发明实施例可根据第一资源发现请求消息完成资源发现以及创建群组的工作,无需服务器与客户端之间多次进行信息交互,可以节省网络开销。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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