一种变更订阅资源的方法及装置与流程

文档序号:11156777阅读:238来源:国知局
一种变更订阅资源的方法及装置与制造工艺

本发明涉及网络资源管理技术领域,尤其涉及订阅资源的变更技术领域。



背景技术:

随着物联网的发展,基于资源(Resource)的restful风格的物联网标准(技术)也在制定和发展过程中,例如OCF、OneM2M、ETSIM2M。

在基于资源的系统构架中,为了资源的推广或者让更多的人发现资源(商业行为),提出一种在另一个设备建立资源副本的解决方案,即把节点A上的某一资源在节点B上建立副本,该副本为节点A上的资源的子集(一般应包含重要的资源和属性),如果节点B是受众能够经常访问的网络设备(或平台),则无疑可以让更多的人发现资源副本,进而完成节点A上的资源的发现和推广。

如图1所示,在节点A有资源resource1,为了让更多的人发现和使用resource1,节点A在节点B(访问者众多)上建立了resource1的副本文件(annc-resource1),annc-resource1为resource1的子集,包含resource1的主要资源和属性;当resource1发生变化的时候,其变化自会同步到annc-resource1。由于节点B存在大量受众,当其进行资源发现时,较为容易发现备份资源,进而通过其link属性发现节点A的resource1。

这种基于资源建立备份文件的方式进行资源发现的解决方案,当资源发现完成之后,节点C(发现了节点B上的备份资源)如果想要订阅该资源,要么订阅节点A上的resource1,要么订阅节点B上的annc-resource1。其中,订阅是指在资源上做一个标记,该标记上包含订阅者的信息,当资源发生变化时,通知订阅者,以便订阅者进行即时操作。

若订阅节点A上的resource1,节点A有可能会发送大量的通知消息,如果节点A是受限设备或者处理能力不强,可能会造成节点A的系统瘫痪;若是订阅节点B上的annc-resource1,如果annc-resource1被删除,则订阅者将不能再访问该资源。



技术实现要素:

本发明旨在解决上面描述的问题。本发明的一个目的是提供一种解决以上问题中的任何一个的变更订阅资源的方法及装置。具体地,本发明提供能够在删除订阅资源时为用户推荐合适的替代订阅目标的变更订阅资源的方法及装置。

根据本发明的第一方面,本发明提供了一种变更订阅资源的方法,所述变更订阅资源的方法包括:

第一实体接收到删除目标资源的指令后,如检测到所述目标资源为副本文件、且为订阅资源,则根据所述目标资源的文件属性值确定所述目标资源的原始资源的信息,从所述原始资源的归属实体获取所述原始资源的连接属性,其中,所述原始资源的连接属性包含所述原始资源的所有副本文件的标识信息;

如根据所述连接属性判断出所述原始资源存在其他副本文件,则执行下述方式中的任意一个:

方式一:选择其中一个副本文件作为替代资源,向所述目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有所述替代资源的标识信息,根据所述替代资源的标识信息向所述替代资源的归属实体发送订阅请求,此订阅请求中携带有所述目标资源的信息和订阅子资源内容;

方式二:向所述目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有除目标资源外的部分或全部其它副本文件的信息,根据所述订阅实体的选择结果,向所述订阅实体选择的副本文件的归属实体发送订阅请求,此订阅请求中携带有所述目标资源的信息和订阅子资源内容;

删除所述目标资源。

其中,所述方法还包括:所述第一实体判断所述原始资源不存在其它副本文件时,向所述目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有所述原始资源的信息,向所述原始资源的归属实体发送订阅请求,此订阅请求中携带有所述目标资源的信息和订阅子资源内容。

其中,所述方法还包括:所述第一实体从其它实体接收到订阅请求后,根据所述订阅请求中携带的所述目标资源的信息确定所述目标资源的原始资源的信息,根据此原始资源的信息确定所述第一实体中此原始资源的副本文件;从所述订阅请求中携带的订阅子资源内容获取订阅者的信息,根据所述订阅者的信息为所述第一实体中的所述副本文件与所述订阅者之间建立订阅关系。

其中,所述方法还包括:所述第一实体从其它实体接收到订阅资源地址变更消息后,判断此订阅资源地址变更消息中携带一个以上的副本文件的信息时,从中选择一个副本文件的信息并返回选择的结果。

其中,所述方法还包括:所述第一实体接收到用于获取所述原始资源的连接属性的请求信息后,返回所述原始资源的连接属性。

根据本发明的另一方面,本发明还提供了一种变更订阅资源的装置,所述变更订阅资源的装置包括:通讯模块、判断模块和控制模块,其中,

所述通信模块,用于接收删除目标资源的指令,并根据所述目标资源的文件属性值确定所述目标资源的原始资源的信息,并从所述原始资源的归属实体获取所述原始资源的连接属性,其中,所述原始资源的连接属性包含所述原始资源的所有副本文件的标识信息;还用于所述判断模块判断出所述原始资源存在其它副本文件时,执行下述方式中的任意一个:

方式一:选择其中一个副本文件作为替代资源,向所述目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有所述替代资源的标识信息,根据所述替代资源的标识信息向所述替代资源的归属实体发送订阅请求,此订阅请求中携带有所述目标资源的信息和订阅子资源内容;

方式二:向所述目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有除目标资源外的部分或全部其它副本文件的信息,根据所述订阅实体的选择结果,向所述订阅实体选择的副本文件的归属实体发送订阅请求,此订阅请求中携带有所述目标资源的信息和订阅子资源内容;

所述判断模块,用于检测所述目标资源是否为副本文件、是否为订阅资源,以及根据所述连接属性判断所述原始资源是否存在其他副本文件;

所述控制模块,用于删除所述目标资源。

其中,所述通信模块,还用于在所述判断模块判断所述原始资源不存在其它副本文件时,向所述目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有所述原始资源的信息,向所述原始资源的归属实体发送订阅请求,此订阅请求中携带有所述目标资源的信息和订阅子资源内容。

其中,所述通信模块,还用于从其它实体接收订阅请求,根据所述订阅请求中携带的所述目标资源的信息确定所述目标资源的原始资源的信息,根据此原始资源的信息确定所述变更订阅资源的装置中此原始资源的副本文件;从所述订阅请求中携带的订阅子资源内容获取订阅者的信息;

所述控制模块,还用于根据订阅者的信息为所述变更订阅资源的装置中的所述副本文件与所述订阅者之间建立订阅关系。

其中,所述通信模块,还用于从其它实体接收到订阅资源地址变更消息后,判断此订阅资源地址变更消息中携带一个以上的副本文件的信息时,从中选择一个副本文件的信息并返回选择结果。

其中,所述通信模块,还用于接收到用于获取原始资源的连接属性的请求信息后,返回所述原始资源的连接属性。

根据本发明所提供的变更订阅资源的方法及装置,在删除订阅资源时,能够为用户推荐合适的替代资源作为订阅资源,在不损害用户体验的基础上,在后台完成订阅资源的变更。进一步地,该方案也可以应用在服务器的迁移、负载均衡方面。

参照附图来阅读对于示例性实施例的以下描述,本发明的其他特性特征和优点将变得清晰。

附图说明

并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。

图1示出了节点A、节点B和节点C之间的关系结构图;

图2示例性地示出了本发明的变更订阅资源的方法的流程图;

图3示例性地示出了本发明的变更订阅资源的装置的模块结构示意图;

图4示例性地示出了本发明的变更订阅资源的方法的实施例一的实施流程图;

图5示例性地示出了本发明的变更订阅资源的方法的实施例二的实施流程图;

图6示例性地示出了本发明的变更订阅资源的方法的实施例三的实施流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

本发明的基本思想是在接收到删除资源的命令时,若判断出该资源为副本文件、且为订阅资源,则查找其它副本文件,并择一作为替代资源推荐给用户,建立订阅关系;若无其它副本文件,则推荐原始资源进行订阅。从而可以不损害用户体验,且能有保证设备及系统的正常运行。

下面结合附图,对根据本发明所提供的变更订阅资源的方法及装置进行详细说明。

图2示出了根据本发明的变更订阅资源的方法的一种流程图,参照图2所示,该变更订阅资源的方法包括:

第一实体接收到删除目标资源的指令后,检测到该目标资源为副本文件、且为订阅资源,根据目标资源的文件属性值确定目标资源的原始资源的信息,并从原始资源的归属实体获取原始资源的连接属性,其中,该原始资源的连接属性中包含该原始资源的所有副本文件的标识信息;

根据原始资源的连接属性判断原始资源存在其他副本文件时,执行下述方式中的任意一个:

方式一:选择其中一个副本文件作为替代资源,向目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有替代资源的标识信息,并根据该替代资源的标识信息向替代资源的归属实体发送订阅请求,此订阅请求中携带有目标资源的信息和订阅子资源的内容;

方式二:向目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有除目标资源外的原始资源的部分或全部其它副本文件的信息,并根据订阅实体的选择结果,向订阅实体选择的副本文件的归属实体发送订阅请求,此订阅请求中携带有目标资源的信息和订阅子资源内容;

第一实体删除目标资源。

当第一实体判断到该原始资源不存在其它副本文件时,则直接将原始资源作为替代资源推荐给目标资源的订阅实体,即:向目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有原始资源的信息,并向原始资源的归属实体发送订阅请求,此订阅请求中携带有目标资源的信息和订阅子资源的内容。

在本文中,第一实体既可以是要删除的目标资源的归属实体,也可以是其它副本文件的归属实体,例如,可以是被选中作为替代资源的副本文件的归属实体,也可以是原始资源的归属实体,进一步地,还可以是订阅实体。

具体地,第一实体作为被选作替代资源的副本文件的归属实体时,根据本发明的变更订阅资源的方法还包括:

第一实体从其它实体接收到订阅请求后,根据该订阅请求中携带的目标资源的信息确定此目标资源的原始资源的信息,根据此原始资源的信息确定所述第一实体中此原始资源的副本文件;并从该订阅请求中携带的订阅子资源内容获取订阅者的信息,该订阅者的信息中包括订阅实体的标识和订阅者的标识等信息,根据该订阅者的信息为在第一实体中的上述原始资源的副本文件建立与订阅者之间的订阅关系。

具体地,当第一实体作为订阅实体时,本发明的变更订阅资源的方法还可以包括:

第一实体从其它实体接收到订阅资源地址变更消息后,判断此订阅资源地址变更消息中携带一个以上的副本文件的信息时,从中选择一个副本文件的信息并返回选择的结果。

进一步地,当第一实体作为原始资源的归属实体时,本发明的变更订阅资源的方法还可以包括:

当第一实体接收到用于获取原始资源的连接属性的请求信息后,返回该原始资源的连接属性。

相适应于上述变更订阅资源的方法,本发明还提供了一种变更订阅资源的装置,图3示出了该变更订阅资源的装置的一种模块结构示意图。该变更订阅资源的装置即上述方法中的第一实体,即可以是原始资源的归属实体,也可以是副本文件的归属实体,还可以是订阅实体。参照图3所示,该装置包括通信模块、判断模块和控制模块。

其中,通信模块用于接收删除目标资源的指令,并根据目标资源的文件属性值确定目标资源的原始资源的信息,以及从原始资源的归属实体获取该原始资源的连接属性,其中,该原始资源的连接属性中包含该原始资源的所有副本文件的标识信息;还用于当判断模块判断出该原始资源存在其它副本文件时,执行下述方式中的任意一个:

方式一:选择其中一个副本文件作为替代资源,向该目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有该替代资源的标识信息,并根据该替代资源的标识信息向该替代资源的归属实体发送订阅请求,此订阅请求中携带有目标资源的信息和订阅子资源内容;

方式二:向目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有原始资源的除目标资源外的部分或全部其它副本文件的信息,并根据订阅实体的选择结果,向订阅实体选择的副本文件的归属实体发送订阅请求,此订阅请求中携带有目标资源的信息和订阅子资源内容。

其中,判断模块用于判断要删除的目标资源是否为副本文件、是否为订阅资源,以及根据其原始资源的连接属性判断原始资源是否存在其他副本文件。

其中,控制模块主要用于删除目标资源。

具体地,在判断模块判断原始资源不存在其它副本文件时,通讯模块还可以用于向目标资源的订阅实体发送订阅资源地址变更消息,此订阅资源地址变更消息中携带有原始资源的信息,并向原始资源的归属实体发送订阅请求,此订阅请求中携带有目标资源的信息和订阅子资源内容。

当该装置作为被选作替代资源的副本文件的归属实体时,通信模块还可以用于从其它实体接收订阅请求,根据订阅请求中携带的目标资源的信息确定此目标资源的原始资源的信息,根据此原始资源的信息确定在本装置中此原始资源的副本文件;并从该订阅请求中携带的订阅子资源内容获取订阅者的信息,此订阅者的信息中包括订阅实体的标识和订阅者的标识等信息。而控制模块还可以用于根据从订阅子资源内容中获取到的订阅者的信息,为本装置中的此原始资源的副本文件与该订阅者之间建立订阅关系。

当本发明的变更订阅资源的装置作为订阅实体时,通信模块还可以用于从其它实体接收到订阅资源地址变更消息后,判断模块判断出此订阅资源地址变更消息中携带一个以上的副本文件的信息时,从中选择一个副本文件的信息并返回选择结果。

而当该装置作为原始资源的归属实体时,通信模块则可以用于接收到用于获取原始资源的连接属性的请求信息,并返回该原始资源的连接属性。进一步地,原始资源在除要删除的副本文件外没有其它副本文件时,通信模块还可以用于接收其它实体发送的订阅请求,根据订阅请求中携带的副本文件的信息确定此副本文件的原始资源的信息,并从该订阅请求中携带的订阅子资源内容获取订阅者的信息;而控制模块还可以用于根据从订阅子资源内容中获取到的订阅者的信息,为本装置中的此原始资源与该订阅者之间建立订阅关系。

具体实施例一

图4示出了根据本发明的变更订阅资源的方法的一种实施例的具体实施流程图,参照图4所示,原始实体与宣布实体1建立关于资源Resource1的资源映射关系,即在宣布实体1上建立Resource1的副本文件annc-resource1(annc-resource1-id1),并在该副本文件的属性中增加原始实体中Resource1的ID或地址,从而明确两者的关系;同时,原始实体需要在Resource1的连接属性上增加副本文件annc-resource1的ID(annc-resource1-id1)或者地址,从而关联Resource1和所有副本文件。建立映射关系后,如果Resource1发生变化,会同时反映到副本文件上。

同理,原始实体与宣布实体2也建立关于资源Resource1的资源映射关系,在宣布实体2上建立Resource1的副本文件annc-resource1-id2,并在该副本文件的属性中增加原始实体中Resource1的ID或地址;同时,原始实体在Resource1的连接属性上增加annc-resource1-id2的ID或者地址。

订阅实体发现并订阅宣布实体2上的annc-resource1-id2资源,所谓的订阅就是在订阅资源下建立一个订阅子资源用来记录:订阅者的ID或者地址、订阅的内容等信息。

当宣布实体2接收到删除annc-resource1-id2的指令时:

宣布实体2检测annc-resource1-id2的属性获知annc-resource1-id2为副本文件,且为订阅资源,宣布实体2根据annc-resource1-id2的属性值(resource1的标识(ID或地址))向原始实体发送请求Resource1的连接属性的请求信息,目的是获取Resource1是否在其他实体上存在副本文件。

原始实体接收到上述请求信息后,将Resource1的连接属性发送至宣布实体2。

宣布实体2接收到Resource1的连接属性后,判断Resource1在其它实体上存在副本文件,获取除annc-resource1-id2外的Resource1的副本文件的地址,并选择其中一个作为替代资源推荐给订阅实体,例如,推荐宣布实体1上的annc-resource1-id1;并且,宣布实体2向宣布实体1发送关于annc-resource1-id1的订阅请求,此订阅请求中携带annc-resource1-id2的信息和订阅子资源的内容。

宣布实体1接收到订阅请求后,根据annc-resource1-id2的信息确定Resource1的信息,从而确定要订阅的副本文件为annc-resource1-id1,并从订阅子资源的内容中获取订阅者的信息,包括订阅实体的标识和订阅者的标识等信息,并据此为annc-resource1-id1创建与订阅者之间的订阅关系,然后向宣布实体2发送确认消息。

宣布实体2接收到宣布实体1的确认消息后,向订阅实体发送订阅资源地址变更成功的通知消息,此通知消息中携带宣布实体1的ID或地址;宣布实体2删除annc-resource1-id2。

具体实施例二

图5示出了根据本发明的变更订阅资源的方法的另一种实施例的具体实施流程图,参照图5所示,原始实体与宣布实体1建立关于资源Resource1的资源映射关系,在宣布实体1上建立Resource1的副本文件annc-resource1(annc-resource1-id1),并在该副本文件的属性中增加原始实体中Resource1的ID或地址,从而明确两者的关系;同时,原始实体需要在Resource1的连接属性上增加副本文件annc-resource1的ID(annc-resource1-id1)或者地址,从而关联Resource1和所有副本文件。

同理,原始实体与宣布实体2也建立关于资源Resource1的资源映射关系,在宣布实体2上建立Resource1的副本文件annc-resource1-id2,并在该副本文件的属性中增加原始实体中Resource1的ID或地址;同时,原始实体在Resource1的连接属性上增加annc-resource1-id2的ID或者地址。

订阅实体发现并订阅宣布实体2上的annc-resource1-id2资源。

当宣布实体2接收到删除annc-resource1-id2的指令时:

宣布实体2检测annc-resource1-id2的属性获知annc-resource1-id2为副本文件,且为订阅资源,宣布实体2根据annc-resource1-id2的属性值(resource1的标识(ID或地址))向原始实体发送请求Resource1的连接属性的请求信息,目的是获取Resource1是否在其他实体上存在副本文件。

原始实体接收到上述请求信息后,将Resource1的连接属性发送至宣布实体2。

宣布实体2接收到Resource1的连接属性后,判断Resource1在其它实体上存在副本文件,获取除annc-resource1-id2外的Resource1的副本文件的地址,并将其中的部分或者全部副本文件的地址列表作为推荐列表发送至订阅实体,根据订阅实体的选择结果,例如订阅实体选中宣布实体1上的annc-resource1-id1作为替代资源,向宣布实体1发送关于annc-resource1-id1的订阅请求,此订阅请求中携带annc-resource1-id2的信息和订阅子资源的内容。

宣布实体1接收到订阅请求后,根据annc-resource1-id2的信息确定Resource1的信息,从而确定要订阅的副本文件为annc-resource1-id1,并从订阅子资源的内容中获取订阅者的信息,包括订阅实体的标识和订阅者的标识等信息,并据此为annc-resource1-id1创建与该订阅者之间的订阅关系,然后向宣布实体2发送确认消息。

宣布实体2接收到宣布实体1的确认消息后,向订阅实体发送订阅资源地址变更成功的通知消息,此通知消息中携带宣布实体1的ID或地址;宣布实体2删除annc-resource1-id2。

具体实施例三

图6示出了根据本发明的变更订阅资源的方法的第三种实施例的具体实施流程图,参照图6所示,原始实体与宣布实体1建立关于资源Resource1的资源映射关系,在宣布实体1上建立Resource1的副本文件annc-resource1(annc-resource1-id1),并在该副本文件的属性中增加原始实体中Resource1的ID或地址,从而明确两者的关系;同时,原始实体需要在Resource1的连接属性上增加副本文件annc-resource1的ID(annc-resource1-id1)或者地址,从而关联Resource1。

订阅实体发现并订阅宣布实体1上的annc-resource1-id1资源。

当宣布实体1接收到删除annc-resource1-id1的指令时:

宣布实体1检测annc-resource1-id1的属性获知annc-resource1-id1为副本文件,且为订阅资源,宣布实体1根据annc-resource1-id1的属性值(resource1的标识(ID或地址))向原始实体发送请求Resource1的连接属性的请求信息,目的是获取Resource1是否在其他实体上存在副本文件。

原始实体接收到上述请求信息后,将Resource1的连接属性发送至宣布实体1。

宣布实体1接收到Resource1的连接属性后,判断Resource1不存在其它副本文件,向订阅实体发送订阅资源变更消息,此消息中携带Resource1的地址,并向原始实体发送关于Resource1的订阅请求,此订阅请求中携带annc-resource1-id1的信息和订阅子资源的内容。

原始实体接收到订阅请求后,根据annc-resource1-id1的信息确定Resource1的信息,从而确定要订阅的资源为Resource1,并从订阅子资源的内容中获取订阅者的信息,包括订阅实体的标识和订阅者的标识等信息,并据此为Resource1创建与该订阅者之间的订阅关系,然后向宣布实体1发送确认消息。

宣布实体1接收到原始实体的确认消息后,向订阅实体发送订阅资源地址变更成功的通知消息,此通知消息中携带原始实体的ID或地址;宣布实体1删除annc-resource1-id1。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包含一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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