一种订阅设备位置信息的方法和装置
技术领域
本发明属于通信领域,尤其涉及一种订阅设备位置信息的方法和装置。
背景技术
随着通信技术的发展,事件订阅通知在很多通信业务中使用的越来越多,如呈现(Presence)信息订阅业务、位置(Location)业务等。用户设备的位置和速度等位置相关信息也成为现代通信关注的重点,基于位置相关信息的订阅技术也成为业界研发的重点。位置相关信息订阅通常是由订阅节点向通知节点订阅目标节点的位置信息,当目标节点的位置发生变化时,随时通知订阅者。在传统的订阅方法中,订阅节点向通知节点订阅目标节点的位置信息过程十分复杂,需要反复进行多次交互,不仅严重影响了网络资源,并且无法实现对目标节点的位置信息的及时订阅。
发明内容
有鉴于此,为了解决现有技术中存在订阅节点订阅目标节点的位置信息过程十分复杂,需要与通知节点反复进行多次交互的问题,本发明的目的是提出一种订阅设备位置信息的方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
在一些可选的实施例中,所述方法,包括:
接收订阅节点发送的订阅位置信息请求;
根据所述订阅位置信息请求,订阅用于管理目标节点的位置信息的第一资源;
根据所述订阅位置信息 请求消息或所述第一资源,查找用于存储所述目标节点的位置信息的第二资源,并订阅所述第二资源;
当所述第一资源或所述第二资源发生变化时,相应的向所述订阅节点发送第一通知或第二通知。
本发明另一个目的是提出一种订阅设备位置信息的装置。
在一些可选的实施例中,所述装置,包括:
第一接收单元,用于接收订阅节点发送的订阅位置信息请求;
第一订阅单元,用于根据所述订阅位置信息请求,订阅用于管理目标节点的位置信息的第一资源;
第二订阅单元,用于根据所述订阅位置信息 请求消息或所述第一资源,查找用于存储所述目标节点的位置信息的第二资源,并订阅所述第二资源;
通知单元,用于当所述第一资源或所述第二资源发生变化时,相应的向所述订阅节点发送第一通知或第二通知。
采用上述实施例,可达到以下效果:
简化了订阅位置信息的过程;避免了反复进行多次的交互,节省了网络资源;实现对目标节点的位置信息的快速和及时订阅。
为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们的等同。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例的一种订阅设备位置信息的方法的流程示意图;
图2示出了本发明实施例的一种订阅设备位置信息的方法的流程示意图;
图3示出了本发明实施例的一种订阅设备位置信息的方法的流程示意图;
图4示出了本发明实施例的一种订阅设备位置信息的装置的结构示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
图1示出了本发明实施例的一种订阅设备位置信息的方法的流程示意图;
如图1所示,在一些说明性的实施例中,所述一种订阅设备位置信息的方法,可以应用于通知节点,包括以下几个步骤:
步骤S101,接收订阅节点发送的订阅位置信息请求;
其中,所述订阅位置信息请求携带用于订阅第一资源的参数,所述用于订阅第一资源的参数是指所述通知节点可以通过所述参数找到订阅节点所要订阅的第一资源;所述第一资源用于管理目标节点的位置信息,例如: <locationpolicy>资源(位置策略资源);
在一些说明性的实施例中,所述订阅位置信息请求携带的用于订阅第一资源的参数包括:所述第一资源的标识;或,
所述目标节点的标识和所述第一资源的类型(locationpolicy);
在一些说明性的实施例中,在步骤S101之后,还包括:
对所述订阅节点进行鉴权;
若鉴权成功,执行步骤S102;
若鉴权失败,则结束本流程;
步骤S102,根据所述订阅位置信息请求,订阅第一资源;
如在<locationpolicy>资源下为所述订阅节点创建子资源<subscription> (订阅资源);
步骤S103,根据所述订阅位置信息 请求消息或所述第一资源 (<locationpolicy>资源),查找第二资源(<container>资源(容器资源),用于存放目标节点的真实的地理位置信息;),并订阅所述第二资源;
例如:若所述订阅位置信息 请求消息携带<container>资源的标识,则可以直接找到该资源;
或者,由于第一资源中包括可以找到第二资源的资源属性;如在 OneM2M标准中,在<locationpolicy>资源中包含可以找到<container>资源的标识的资源属性(<locationContainerID>);那么也可以通过第一资源查找到所述第二资源;
下面列举了两种订阅第二资源的方式:
为第二资源新增用于记录所述第二资源是否被订阅的第二资源属性;所述为所述订阅节点订阅所述第二资源,包括:
在所述第二资源属性中,添加用于表示所述第二资源已被订阅的标识;或,
所述为所述订阅节点订阅所述第二资源,包括:
在所述第二资源中为所述订阅节点创建用于订阅所述第二资源的子资源;即在<container>资源下为订阅节点创建子资源<subscription>;
步骤S104,当所述第一资源或第二资源发生变化时,相应的向所述订阅节点发送第一通知或第二通知;
在一些说明性的实施例中,所述第一资源包括用于记录所述第二资源更新情况的第一资源属性,当所述第二资源发生变化,向所述订阅节点发送第二通知,具体为:当检测到所述第一资源属性的更新时,向所述订阅节点发送第二通知;
在一些说明性的实施例中,所述第一通知包括:所述第一资源的标识;或,所述第一资源的标识和所述第一资源的资源变化信息;同理,所述第二通知包括:所述第二资源的标识;或,所述第二资源的标识和所述第二资源的资源变化信息;
若只携带了发生变化的资源的标识,即可理解为通知的内容是告知订阅节点哪个资源发生了变化,但不包括具体的变化信息;若通知中还携带了资源变化信息,即通知的内容除了包括哪个资源发生了变化以外,还包括具体的变化信息;
其中,该资源变化信息可以是资源中发生了变化的那部分信息,或者,所述资源变化信息是用于描述资源中发生了哪些变化的信息;
在一些说明性的实施例中,若所述第一通知包括所述第一资源的标识,则在所述向所述订阅节点发送第一通知之后,还包括:
接收所述订阅节点发送的用于获取所述第一资源的资源变化信息的第一请求消息;
根据该第一请求消息获取所述第一资源的资源变化信息,并将该第一资源的资源变化信息发送给所述订阅节点;和/或,
若所述第二通知包括所述第二资源的标识,则在所述向所述订阅节点发送第二通知之后,还包括:接收所述订阅节点发送的用于获取所述第二资源的资源变化信息的第二请求消息;
根据该第二请求消息获取所述第二资源的资源变化信息,并将该第二资源的资源变化信息发送给所述订阅节点。
下面通过具体的实施例来说明本方案,在该实施例中涉及订阅节点 (如:CSE1)和通知节点(如:Hosting CSE);通知节点获取了目标节点的位置信息,并创建了<locationpolicy>资源和<container>资源;图2示出了本发明实施例的一种订阅设备位置信息的方法的流程示意图,如图2所示,订阅节点订阅目标节点的位置信息的具体过程如下:
步骤S201,CSE1向Hosting CSE发送请求消息;
CSE1期望订阅target node(目标节点,T-node)的位置信息,因此发送请求消息,该请求消息需携带Hosting CSE的标识,请求资源类型 locationpolicy,T-node的标识,notificationURI(通知标识,即通过该通知标识可以将通知发送到CSE1,通知标识既可以是CSE1的IP地址,也可以是CSE1的标识,在此处不做限定);
步骤S202,Hosting CSE对CSE1进行鉴权;
此步骤可选,Hosting CSE根据上述请求进行鉴权,可以是对CSE1进行鉴权,也可以是对CSE1发送的请求进行鉴权,若鉴权失败,则终止本流程,若鉴权成功,则触发步骤S203;
步骤S203,Hosting CSE为CSE1订阅<locationpolicy>资源;
在<locationpolicy>资源下面创建<subscription>资源,表示订阅该资源,当该资源发生变化的时候向CSE1发送通知消息;
步骤S204,Hosting CSE确定存储位置信息的<container>资源;
Hosting CSE根据收到订阅的T-node的位置信息的请求消息,确定其真实地理位置信息存放的<container>资源,如可以在<locationpolicy>资源的“locationContainerID”找到<container>资源;
步骤S205,Hosting CSE为CSE1订阅<container>资源;
自动在<container>资源下创建<subscription>资源完成订阅,上述 <subscription>资源的属性可以根据步骤S203中创建的<subscription>资源进行相应设定;
步骤S206,T-node的位置信息发生变化;
或当<locationpolicy>资源或者<container>资源发生变化时,触发步骤 S207;
步骤S207,Hosting CSE向CSE1发送通知;
所述通知携带<locationpolicy>资源或者<container>资源的ID;可选的,还包括资源变化信息。
图3示出了本发明实施例的一种订阅设备位置信息的方法的流程示意图,如图3所示,订阅节点订阅目标节点的位置信息的具体过程如下:
步骤S301,CSE1向Hosting CSE发送请求消息;
CSE1发送订阅<locationpolicy>资源的请求消息;由于CSE1知道需要订阅的资源的标识,因此请求消息携带Hosting CSE的标识和 <locationpolicy>资源的标识;
步骤S302,Hosting CSE对CSE1进行鉴权;
鉴权的过程同上述实施例的步骤S202;
步骤S303,Hosting CSE为CSE1订阅<locationpolicy>资源;
Hosting CSE在<locationpolicy>资源下为CSE1创建<subscription>资源;
步骤S304,<container>资源发生变化;
当保存真实的位置信息的<container>资源发生变化时,触发步骤S305;
步骤S305,Hosting CSE更新“container-modified-time”资源属性(容器资源变更时间属性);
自动更新<locationpolicy>资源的“container-modified-time”资源属性;
步骤S306,Hosting CSE向CSE1发送通知;
步骤S306可以有两种方案,如下:
步骤S3061,Hosting CSE向CSE1发送通知;所述通知携带:<container> 资源的标识和T-node的标识;或,
步骤S3062,Hosting CSE向CSE1发送通知;所述通知携带:<container> 资源的标识、T-node的标识以及资源变化的信息;如:在<container>资源的子资源<contentInstance>资源(事件实例资源)中存储着T-node的真实的地理位置信息,一旦T-node的位置发生变化,<contentInstance>资源相应发生变化,则Hosting CSE在通知中会携带从<contentInstance>资源中获取到的 T-node的地理位置变化信息,并发送给CSE1;
在一些说明性的实施例中,在步骤S303之后,还包括:对<container> 资源进行标记,表示已被订阅;有两种方式:方式1是在<container>资源下创建<subscription>资源;方式2是,<container>资源中新增一个表示订阅情况的“subscribe-flg”资源属性(订阅开关属性)设为ture,当<container>资源未被订阅时,则该资源属性的默认值为false;其中,方式2的订阅可以是对应于CSE1的订阅(即同实施例1,依然是Hosting CSE自动为CSE1订阅<container>资源),也可以是对应于<locationpolicy>资源的“container-modified-time”资源属性的订阅(或者理解为将<locationpolicy>资源与“container-modified-time”资源属性相关联),即一旦<container>资源发生变化则将触发更新“container-modified-time”资源属性,再由更新的“container-modified-time”资源属性触发HostingCSE向CSE1发送通知;
当然Hosting CSE也可能在创建<locationpolicy>资源和<container>资源时,就已经将<container>资源中的“subscribe-flg”资源属性与<locationpolicy> 资源中的“container-modified-time”资源属性进行关联,那么Hosting CSE则无需对“subscribe-flg”资源属性进行二次标记,一旦Hosting CSE为CSE1订阅了<locationpolicy>资源,则<container>资源发送的变化会通知到“container-modified-time”资源属性,进而CSE1就可以间接的获知 <container>资源上的变化信息;
在一些说明性的实施例中,当<subscription>资源发生变化时,Hosting CSE也会发送通知给CSE1,在此处不进行赘述。
图4示出了本发明实施例的一种订阅设备位置信息的装置400的结构示意图;在一些说明性的实施例中,所述装置400,包括:
第一接收单元401,用于接收订阅节点发送的订阅位置信息请求;
第一订阅单元402,用于根据所述订阅位置信息请求,订阅用于管理目标节点的位置信息的第一资源;
第二订阅单元403,用于根据所述订阅位置信息 请求消息或所述第一资源,查找用于存储所述目标节点的位置信息的第二资源,并订阅所述第二资源;
通知单元404,用于当所述第一资源或所述第二资源发生变化时,相应的向所述订阅节点发送第一通知或第二通知;
在一些说明性的实施例中,所述第一资源包括用于记录所述第二资源更新情况的第一资源属性,所述通知单元404包括:通知子单元,用于当检测到所述第一资源属性的更新时,向所述订阅节点发送第二通知;
在一些说明性的实施例中,所述第二资源包括用于记录所述第二资源是否被订阅的第二资源属性;所述第二订阅单元403,包括:
添加单元4031,用于在所述第二资源属性中,添加用于表示所述第二资源已被订阅的标识;
在一些说明性的实施例中,所述订阅位置信息请求携带用于订阅第一资源的参数,所述用于订阅所述第一资源的参数包括:所述第一资源的标识;或,所述目标节点的标识和所述第一资源的类型;
在一些说明性的实施例中,所述第一通知包括:所述第一资源的标识;或,
所述第一资源的标识和所述第一资源的资源变化信息;
所述第二通知包括:所述第二资源的标识;或,
所述第二资源的标识和所述第二资源的资源变化信息;
在一些说明性的实施例中,若所述第一通知包括所述第一资源的标识,还包括:
第二接收单元405,用于所述通知单元404向所述订阅节点发送第一通知之后,接收所述订阅节点发送的用于获取所述第一资源的资源变化信息的第一请求消息;
第一发送单元406,用于根据该第一请求消息获取所述第一资源的资源变化信息,并将该第一资源的资源变化信息发送给所述订阅节点;和/或,
若所述第二通知包括所述第二资源的标识,还包括:
第三接收单元407,用于所述通知单元404向所述订阅节点发送第二通知之后,接收所述订阅节点发送的用于获取所述第二资源的资源变化信息的第二请求消息;
第二发送单元408,用于根据该第二请求消息获取所述第二资源的资源变化信息,并将该第二资源的资源变化信息发送给所述订阅节点;
在一些说明性的实施例中,所述装置400,还包括:
鉴权单元409,用于所述第一接收单元401接收订阅节点发送的订阅位置信息请求之后,对所述订阅节点进行鉴权;
若鉴权成功,所述第一订阅单元402执行所述为所述订阅节点订阅所述第一资源的操作;
若鉴权失败,则结束本流程;
在一些说明性的实施例中,所述订阅位置信息 请求消息或第一资源中包含第二资源的标识信息;
所述第二订阅单元403,具体包括:
查找单元4032,用于根据所述订阅位置信息 请求消息或第一资源中包含第二资源的标识信息,查找所述第二资源。
采用上述实施例,可达到以下效果:
简化了订阅位置信息的过程;
避免了反复进行多次的交互,节省了网络资源;
实现对目标节点的位置信息的快速和及时订阅。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个***所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。