一种获取位置信息的方法和装置
技术领域
本发明属于通信领域,尤其涉及一种获取位置信息的方法和装置。
背景技术
随着通信技术的发展,基于位置相关信息的获取技术也成为业界研发的重点。在OneM2M系统中通过<locationpolicy>资源(位置策略资源)来获取和管理M2M节点的地理位置信息,而其真实的地理位置信息存放在<container>资源(容器资源)中的子资源<contentInstance>(内容实例资源)中。而<locationpolicy>资源和<container>资源通过containerID和locationID来完成上述两资源的绑定;在现有技术中,可以通过位置服务器或者设备的GPS模块来获取目标设备的地理位置信息,但对于一些处理能力低下的设备,因为其地理位置信息可能存放在其它节点上,例如其注册的路由器节点或其它获取并保存过目标设备的地理位置信息的设备,因此无法通过现有的技术获取其地理位置信息。
发明内容
有鉴于此,为了解决现有技术中无法获取一些处理能力低下的设备的位置信息的问题,本发明的目的是提出一种获取位置信息的方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
在一些可选的实施例中,所述方法,应用于获取节点,包括:
接收请求节点发送的获取目标节点的位置信息的第一请求;所述第一请求携带所述目标节点的标识;
向所述目标节点的注册节点或以广播的形式发送获取所述目标节点的位置信息的第二请求;所述第二请求携带所述目标节点的标识;
接收所述注册节点或存储所述目标节点的位置信息的目标信息节点发送的所述目标节点的位置信息,并发送给所述请求节点。
在一些可选的实施例中,所述方法,应用于注册节点,包括:
接收获取节点发送的获取所述目标节点的位置信息的第二请求;所述第二请求携带所述目标节点的标识;
将所述目标节点的位置信息或用于获取所述位置信息的获取信息发送至所述获取节点。
本发明另一个目的是提出一种获取位置信息的装置。
在一些可选的实施例中,所述装置,应用于获取节点,包括:
第一接收单元,用于接收请求节点发送的获取目标节点的位置信息的第一请求;所述第一请求携带所述目标节点的标识;
第一发送单元,用于向所述目标节点的注册节点或以广播的形式发送获取所述目标节点的位置信息的第二请求;所述第二请求携带所述目标节点的标识;
第二接收单元,用于接收所述注册节点或存储所述目标节点的位置信息的目标信息节点发送的所述目标节点的位置信息,并发送给所述请求节点。
在一些可选的实施例中,所述装置,应用于注册节点,包括:
接收单元,用于接收获取节点发送的获取所述目标节点的位置信息的第二请求;所述第二请求携带所述目标节点的标识;
发送单元,用于将所述目标节点的位置信息或用于获取所述位置信息的获取信息发送至所述获取节点。
采用上述实施例,可达到以下效果:
可以在目标设备无法提供地理位置信息的场景下,通过分享的方式从其它设备获取其地理位置信息。
为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们的等同。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例的一种获取位置信息的方法的整体流程示意图;
图2示出了本发明实施例的一种获取位置信息的方法的整体流程示意图;
图3示出了本发明实施例的一种获取位置信息的方法的具体流程示意图;
图4示出了本发明实施例的一种获取位置信息的方法的具体流程示意图;
图5示出了本发明实施例的一种获取位置信息的方法的具体流程示意图;
图6示出了本发明实施例的一种获取位置信息的装置的功能模块框图;
图7示出了本发明实施例的一种获取位置信息的装置的功能模块框图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
图1示出了本发明实施例的一种获取位置信息的方法的整体流程示意图,如图1所示,在一些说明性的实施例中,所述方法,应用于获取节点,包括以下几个步骤:
步骤S101,接收请求节点发送的获取目标节点的位置信息的第一请求;所述第一请求携带所述目标节点的标识;
步骤S102,向所述目标节点的注册节点或以广播的形式发送获取所述目标节点的位置信息的第二请求;所述第二请求携带所述目标节点的标识;
步骤S103,接收所述注册节点或存储所述目标节点的位置信息的目标信息节点发送的所述目标节点的位置信息,并发送给所述请求节点;
其中,所述目标节点是一类处理能力低下的设备,在该设备上没有或没有能力存储其位置信息;所述获取节点是可以与所述请求节点通信,并协助所述请求节点获取所述目标节点的位置信息的中间设备,例如所述请求节点注册的设备;所述注册节点是所述目标节点注册的设备,所述目标信息节点是存储所述目标节点的位置信息的设备;
在上述实施例中,所述获取节点收到请求节点请求获取目标节点的位置信息后可以通过分享的方式获取所述位置信息,例如向目标节点的注册节点发送获取目标节点的位置信息的第二请求,接收所述注册节点发送的所述目标节点的位置信息;或以广播的形式向网络中的设备发送所述第二请求,接收所述目标信息节点发送的所述目标节点的位置信息;然后将获取的位置信息发送至所述请求节点;
在一些说明性的实施例中,在所述以广播的形式发送获取所述目标节点的位置信息的第二请求后,还包括:
接收多个信息节点发送的反馈所述第二请求的第一应答消息;所述第一应答消息携带该信息节点存储的所述位置信息的最后更新时间;
根据所述第一应答消息,选择与当前时间最接近的最后更新时间所对应的信息节点作为目标信息节点,并向所述目标信息节点发送获取所述目标节点的位置信息的第三请求;
上述过程中,当获取节点以广播的形式发送第二请求后,收到多个信息节点发送的第一应答消息,所述信息节点就是存储有目标节点的位置信息的一类节点;然后根据最后更新时间,选择最近更新的信息节点作为目标信息节点,并执行相应的从目标信息节点获取所述位置信息的第三请求;
进一步的,所述第一应答消息还携带存储所述位置信息的地址;则所述第三请求包括所述目标信息节点发送的第一应答消息中携带的存储所述位置信息的地址,用以根据该地址调取所述目标信息节点上该地址存储的所述位置信息;
在一些说明性的实施例中,在所述接收请求节点发送的获取目标节点的位置信息的第一请求后,还包括:
建立用于管理所述目标节点的位置信息的第一资源(<locationpolicy>资源)和用于存储所述目标节点的位置信息的第二资源(<container>资源);
则,在将所述目标节点的位置信息发送给所述请求节点前,还包括:
根据所述注册节点或所述目标信息节点发送的所述目标节点的位置信息对所述第二资源进行设置;在这里所述的对第二资源进行设置可以是对第二资源中的全部或部分内容的更新,例如将获取的目标信息节点的位置信息存储于<container>资源的子资源<contentInstance>中;
在一些说明性的实施例中,所述第二资源包括用于存储所述目标节点的位置信息的子资源,对所述第二资源进行设置,具体包括:
将接收到的所述注册节点或所述目标信息节点发送的所述目标节点的位置信息存储于所述子资源中;
例如将获取的目标节点的位置信息存储于第二资源<container>资源的子资源<contentInstance>资源中;
在一些说明性的实施例中,所述目标信息节点包括用于管理所述目标节点的位置信息的第三资源和用于存储所述目标节点的位置信息的第四资源,并且所述第三资源和所述第四资源相互绑定;这里所述的第三资源和第四资源分别与所述第一资源和第二资源相对应,并且功能相同,具有相同的资源名称(所述第三资源为<locationpolicy>资源,所述第四资源为<container>资源),只是第三资源和第四资源是存储于目标信息节点的资源;
所述第二请求携带所述第三资源的类型(locationpolicy),指示所述信息节点根据所述第三资源找到所述第四资源,由于<locationpolicy>资源和<container>资源通过containerID和locationID互相绑定,因此只要找到第三资源,就可以找到用于存放位置信息的第四资源;在所述信息节点找到第四资源后,在其回复的所述第一应答消息中会携带第四资源的标识(即存放所述目标节点的位置信息的地址,containerID);则所述第三请求携带所述第四资源的标识;
对所述第二资源进行设置,包括:
根据所述目标信息节点反馈所述第三请求发送的第四资源的信息对所述第二资源进行设置;
获取节点收到携带containerID的第三请求后,从所述目标信息节点获取第四资源<container>资源的信息(可以是整个第四资源,或者是第四资源中的部分内容,如属性或子资源等),然后根据获取到的第四资源的信息对本节点的<container>资源进行相应的设置;
在一些说明性的实施例中,在将所述目标信息节点发送的所述目标节点的位置信息发送给所述请求节点前,还包括:
接收所述注册节点发送的用于获取所述位置信息的获取信息;所述获取信息包括所述目标信息节点存储所述目标节点的位置信息的地址;
向所述目标信息节点发送获取所述目标节点的位置信息的第四请求,所述第四请求携带所述目标信息节点存储所述目标节点的位置信息的地址;
在该实施例中描述的场景是当获取节点以向注册节点发送第二请求的方式获取所述位置信息,收到获取节点发送反馈消息中并未直接写的所述目标节点的位置信息,而是用户获取所述位置信息的获取信息(如目标信息节点的标识和存储所述目标节点的位置信息的地址containerID),那么获取节点就会根据该获取信息向目标信息节点发送所述第四请求,请求获取所述位置信息。
图2示出了本发明实施例的一种获取位置信息的方法的整体流程示意图,如图2所示,在一些说明性的实施例中,所述方法,应用于注册节点,包括以下几个步骤:
步骤S201,接收获取节点发送的获取所述目标节点的位置信息的第二请求;所述第二请求携带所述目标节点的标识;
步骤S202,将所述目标节点的位置信息或用于获取所述位置信息的获取信息发送至所述获取节点;
在本实施例中,获取节点通过注册节点分享获得所述目标节点的位置信息,注册节点直接将目标节点的位置信息发送至获取节点,或将上述获取信息发送至获取节点,指示获取节点再根据该获取信息获取所述位置信息;
在一些说明性的实施例中,若注册节点上未存储所述目标节点的位置信息,则在步骤S201之后,还包括:
获取所述目标节点的位置信息或所述用于获取所述位置信息的获取信息;
进一步的,上述操作具体包括:
以广播的形式发送获取所述目标节点的位置信息的第五请求;所述第五请求携带所述目标节点的标识;
若接收至少一个存储所述目标节点的位置信息的信息节点发送的反馈所述第五请求的第二应答消息;所述第二应答消息携带该信息节点存储的所述位置信息的最后更新时间;则,
根据所述第二应答消息,选择与当前时间最接近的最后更新时间所对应的信息节点作为目标信息节点,向所述目标信息节点发送获取所述目标节点的位置信息的第五请求,或,记录所述用于获取所述位置信息的获取信息;或,
若未接收到所述第二应答消息,则,
将距离所述目标节点最近的节点的位置信息作为所述目标节点的位置信息;
进一步的,所述信息节点反馈的第二应答消息还携带存储所述位置信息的地址;
若在选择所述目标信息节点后向其发送第五请求,则所述第五请求包括所述目标信息节点发送的第二应答消息中携带的存储所述位置信息的地址,用以根据该地址调取所述目标信息节点上该地址存储的所述位置信息;
若在选择所述目标信息节点后记录所述获取信息,则所述获取信息包括所述存储所述位置信息的地址;
在上述实施例中,由于所述目标节点的位置信息可能存放于多个信息节点中,因此注册设备通过广播的方式寻找并选择最佳的信息节点作为目标信息节点,然后再根据其反馈的第二应答消息中携带的地址从目标信息节点获取所述位置信息,并触发将所述位置信息发送至获取节点的操作;或,只记录第二应答消息中的地址,然后将其作为获取信息发送至获取节点;
若注册节点以广播的形式发送第五请求后,在预设的时间内未收到任何信息节点反馈的第二应答消息,即可以理解为在网络中没有存放所述目标节点的位置信息的节点,则将距离所述目标节点最近的节点的位置信息作为所述目标节点的位置信息;其中,所述将距离所述目标节点最近的节点的位置信息作为所述目标节点的位置信息的过程,具体包括:由于本节点是目标节点的注册节点,因此可以根据其注册信息,从网络中寻找与目标节点当前距离最近的节点的位置信息作为其位置信息,并反馈给所述获取节点;
可选的,在获取所述目标节点的位置信息或所述用于获取所述位置信息的获取信息之前,还包括:
根据所述目标节点的标识,判断所述目标节点是否已注册,若未注册,则向所述获取节点发送告知所述目标节点未注册的反馈消息;若已注册,则对所述获取节点进行鉴权,若鉴权失败,则终止流程,若鉴权成功,则执行获取所述目标节点的位置信息或所述用于获取所述位置信息的获取信息的操作;
在一些说明性的实施例中,在步骤S201之后,还包括:
判断是否存储所述目标节点的位置信息;
若否,则执行所述获取所述目标节点的位置信息或所述用于获取所述位置信息的获取信息的操作;
若是,则执行所述将所述目标节点的位置信息或所述用于获取所述位置信息的获取信息发送至所述获取节点的操作。
下面以三个具体的实施例来说明本方案,在以下实施例中涉及Originator(请求节点)、Registrar CSE(获取节点)和多个Hosting CSE(信息节点);其中Originator需要获取T-node(目标节点)的位置信息,但无法直接从T-node获取其位置信息,Originator已注册到Registrar CSE上;如图3所示,具体过程如下:
步骤S301,Originator向Registrar CSE请求获取目标节点T-node的位置信息;
步骤S302,Registrar CSE建立<locationpolicy>资源;
步骤S303,Registrar CSE建立<container>资源;
步骤S304,Registrar CSE广播用于获取T-node的位置信息的请求;
其中,该广播消息携带的参数包括:T-node的标识ID(T-node-ID)、获取资源的类型为locationpolicy以及自身的ID;
步骤S305,Registrar CSE接收多个Hosting CSE反馈的应答消息;
其中,上述应答消息携带的参数包括:Hosting CSE-ID、T-node-ID、存放目标节点位置信息的地址(目标节点的位置信息存放于Hosting CSE的<container>资源中,则该地址为container-ID)、以及上述地址的最后更新时间(Latest Update time);
步骤S306,Registrar CSE分析应答消息,选择合适的Hosting CSE;
收到上述多个Hosting CSE反馈的应答消息后,采用时间最近原则,参考LatestUpdate time,选择离当前时间最近的Hosting CSE,以其存放的目标节点的位置信息作为目标设备的当前位置信息;
步骤S307,Registrar CSE向Hosting CSE1获取T-node的位置信息;
假设Hosting CSE1为离当前时间最近的Hosting CSE;则Registrar CSE向Hosting CSE1发送请求消息,该请求消息携带的参数包括:Hosting CSE1的ID、T-node-ID以及Hosting CSE1反馈的应答消息中携带的container-ID;
步骤S308,Hosting CSE1进行鉴权;
此步骤可选,Hosting CSE1在收到步骤S307发送的请求消息后,会对该请求进行鉴权;若鉴权成功,则触发步骤S309,若鉴权失败,则发送鉴权失败的反馈消息给RegistrarCSE;
步骤S309,Hosting CSE1将container信息发送给Registrar CSE;
其中,container信息可以是全部或部分<container>资源中的信息;例如HostingCSE1调取其<container>资源,将该资源中存放的T-node的位置信息或整个<container>资源发送给Registrar CSE;
步骤S310,Registrar CSE复制container信息,对已创建的<container>资源进行设置;
即Registrar CSE根据Hosting CSE1发送的container信息对步骤S303中创建的<container>资源进行相应的参数设置;
步骤S306,Registrar CSE将T-node的位置信息发送至Originator。
图4示出了另一具体实施例的流程图,该实施例中涉及Originator(请求节点)、Registrar CSE(获取节点)、T-registrar CSE(注册节点)和多个Hosting CSE(信息节点);本实施例与上述实施例的区别是Registrar CSE因多种原因导致无法取得T-node的位置信息,Registrar CSE通过T-node的注册节点T-registrar CSE获取其位置信息;如图4所示,具体过程如下:
步骤S401,Originator向Registrar CSE请求获取目标节点T-node的位置信息;
步骤S402,Registrar CSE建立<locationpolicy>资源;
步骤S403,Registrar CSE建立<container>资源;
步骤S404,Registrar CSE向T-registrar CSE发送用于获取T-node的位置信息的请求;
步骤S405,T-registrar CSE无法转发消息或无法取得数据等;
即T-registrar CSE无法直接获取T-node的位置信息,或T-registrar CSE不知道哪个Hosting CSE是当前获取T-node的位置信息的最佳T-node的位置信息;
步骤S406,T-registrar CSE以广播的形式发送用于获取T-node的位置信息的请求Registrar CSE分析应答消息,选择合适的Hosting CSE;
其中,该广播消息携带的参数包括:T-node的标识ID(T-node-ID)、获取资源的类型为locationpolicy以及自身的ID;当然步骤S406也可以通过discovery流程对携带T-node的位置信息的Hosting CSE进行发现,在这里不对discovery流程进行赘述;
步骤S407,T-registrar CSE接收多个Hosting CSE反馈的应答消息;
其中,上述应答消息携带的参数包括:Hosting CSE-ID、T-node-ID、存放目标节点位置信息的地址(目标节点的位置信息存放于Hosting CSE的<container>资源中,则该地址为container-ID)、以及上述地址的最后更新时间(Latest Update time);
步骤S408,T-registrar CSE对应答消息进行分析,并选择合适的Hosting CSE;
T-registrar CSE收到上述多个Hosting CSE反馈的应答消息后,采用时间最近原则,参考Latest Update time,选择离当前时间最近的Hosting CSE,以其存放的目标节点的位置信息作为T-node的当前位置信息;
步骤S409,T-registrar CSE将合适的Hosting CSE的信息发送至Registrar CSE;
在本实施例中,T-registrar CSE不直接获取T-node的当前位置信息,而是将最佳的Hosting CSE的信息(假设Hosting CSE1为离当前时间最近的Hosting CSE,则HostingCSE1的信息可以包括:Hosting CSE1的ID、Hosting CSE1反馈的应答消息中携带的container-ID等)发送给Registrar CSE,由Registrar CSE发起获取T-node的当前位置信息的步骤,即步骤S410;可选的,在步骤S409中,T-registrar CSE也可以直接获取最佳的Hosting CSE的container信息(包括T-node的当前位置信息),然后再将上述获取的信息发送给Registrar CSE,再由Registrar CSE将T-node的当前位置信息发送给Originator;
步骤S410,Registrar CSE向Hosting CSE1发送用于获取T-node的位置信息的请求;
其中,该请求消息携带的参数包括:Hosting CSE1的ID、T-node-ID以及HostingCSE1反馈的应答消息中携带的container-ID;
步骤S411,Registrar CSE根据Hosting CSE1反馈的消息设定已创建的<container>资源;
步骤S412,Registrar CSE将T-node的位置信息发送至Originator。
图5示出了另一具体实施例的流程图,该实施例中涉及Originator(请求节点)、Registrar CSE(获取节点)和T-registrar CSE(注册节点);本实施例与上述实施例的区别是T-registrar CSE首先判断本节点是否存储了T-node的位置信息,若未存储,则通过查找与T-node最近的设备,并将该设备的位置信息作为目标设备的位置信息发送给RegistrarCSE,然后Registrar CSE再将该位置信息返回给Originator;如图5所示,具体过程如下:
步骤S501,Originator向Registrar CSE请求获取目标节点T-node的位置信息;
步骤S502,Registrar CSE建立<locationpolicy>资源;
步骤S503,Registrar CSE建立<container>资源;
步骤S504,Registrar CSE向T-registrar CSE发送用于获取T-node的位置信息的请求;
步骤S505,T-registrar CSE判断T-node是否为其注册设备;
若T-node是其注册设备,则触发步骤S506;反之,则向Registrar CSE发送反馈消息,告知其T-node步骤是其注册设备;
步骤S506,T-registrar CSE对Registrar CSE的访问权限进行检查;
在确认T-node是其注册设备后,对Registrar CSE进行鉴权,若成功则触发步骤S507,反之,则结束本流程并向Registrar CSE发送鉴权失败的消息;
步骤S507,T-registrar CSE判断本节点上是否存在T-node的位置信息;
由于T-registrar CSE是T-node的注册设备,因此T-registrar CSE首先根据注册信息等判断本节点上是否已经存储了T-node的位置信息,若已存储,则将存储的T-node的位置信息发送给Registrar CSE,再由Registrar CSE转发给Originator;若未存储,则触发步骤S508;
步骤S508,T-registrar CSE查找离T-node最近的设备;
T-registrar CSE查找距离T-node的设备或节点,假设找到节点1距离T-node距离最近;
步骤S509,T-registrar CSE生成T-node的位置信息;
T-registrar CSE获取节点1的位置信息,并将该位置信息作为T-node当前的位置信息;
步骤S510,T-registrar CSE将T-node的位置信息返回给Registrar CSE;
步骤S511,Registrar CSE将T-node的位置信息保存于<container>资源中;
在Registrar CSE创建的<container>资源中包括子资源<contentInstance>,将T-node的位置信息保存于<contentInstance>中;
步骤S512,Registrar CSE将T-node的位置信息发送至Originator。
图6示出了本发明实施例的一种获取位置信息的装置600的结构示意图,
在一些说明性的实施例中,所述装置600,应用于获取节点,包括:
第一接收单元601,用于接收请求节点发送的获取目标节点的位置信息的第一请求;所述第一请求携带所述目标节点的标识;
第一发送单元602,用于向所述目标节点的注册节点或以广播的形式发送获取所述目标节点的位置信息的第二请求;所述第二请求携带所述目标节点的标识;
第二接收单元603,用于接收所述注册节点或存储所述目标节点的位置信息的目标信息节点发送的所述目标节点的位置信息,并发送给所述请求节点;
在一些说明性的实施例中,所述装置600,还包括:
第三接收单元604,用于所述第一发送单元602以广播的形式发送获取所述目标节点的位置信息的第二请求后,接收多个信息节点发送的反馈所述第二请求的第一应答消息;所述第一应答消息携带该信息节点存储所述位置信息的最后更新时间;
选择单元605,用于根据所述第一应答消息,选择与当前时间最接近的最后更新时间所对应的信息节点作为目标信息节点,并向所述目标信息节点发送获取所述目标节点的位置信息的第三请求;
在一些说明性的实施例中,所述第一应答消息还携带存储所述位置信息的地址;则所述第三请求包括所述目标信息节点发送的第一应答消息中携带的存储所述位置信息的地址,用以根据该地址调取所述目标信息节点上该地址存储的所述位置信息;
在一些说明性的实施例中,所述装置600,还包括:
建立单元606,用于所述第一接收单元601接收请求节点发送的获取目标节点的位置信息的第一请求后,建立管理所述目标节点的位置信息的第一资源和用于存储所述目标节点的位置信息的第二资源;
设置单元607,用于所述第二接收单元603将所述目标节点的位置信息发送给所述请求节点前,根据所述注册节点或所述目标信息节点发送的所述目标节点的位置信息对所述第二资源进行设置;
在一些说明性的实施例中,所述装置600,所述第二资源包括用于存储所述目标节点的位置信息的子资源,所述设置单元607,包括:
第一设置子单元6071,用于将接收到的所述注册节点或所述目标信息节点发送的所述目标节点的位置信息存储于所述子资源中;
在一些说明性的实施例中,所述目标信息节点包括用于管理所述目标节点的位置信息的第三资源和用于存储所述目标节点的位置信息的第四资源,并且所述第三资源和所述第四资源相互绑定;所述第二请求携带所述第三资源的类型,指示所述信息节点根据所述第三资源找到所述第四资源,所述信息节点回复的所述第一应答消息中携带的存储所述位置信息的地址是所述第四资源的标识;则所述第三请求携带所述第四资源的标识;所述设置单元607,包括:
第二设置子单元6072,用于根据所述目标信息节点反馈所述第三请求发送的第四资源的信息对所述第二资源进行设置;
在一些说明性的实施例中,所述装置600,还包括:
第四接收单元608,用于所述第二接收单元603将所述目标信息节点发送的所述目标节点的位置信息发送给所述请求节点前,接收所述注册节点发送的用于获取所述位置信息的获取信息;所述获取信息包括所述目标信息节点存储所述目标节点的位置信息的地址;
第二发送单元609,用于向所述目标信息节点发送获取所述目标节点的位置信息的第四请求,所述第四请求携带所述目标信息节点存储所述目标节点的位置信息的地址。
图7示出了本发明实施例的一种获取位置信息的装置700的结构示意图,
在一些说明性的实施例中,所述装置700,应用于注册节点,包括:
接收单元701,用于接收获取节点发送的获取所述目标节点的位置信息的第二请求;所述第二请求携带所述目标节点的标识;
发送单元702,用于将所述目标节点的位置信息或用于获取所述位置信息的获取信息发送至所述获取节点。
在一些说明性的实施例中,所述装置700,还包括:
获取单元703,用于所述接收单元701接收所述第二请求之后,获取所述目标节点的位置信息或所述用于获取所述位置信息的获取信息;所述获取单元703,具体包括:
第一获取子单元7031,用于以广播的形式发送获取所述目标节点的位置信息的第五请求;所述第五请求携带所述目标节点的标识;
第二获取子单元7032,用于若接收至少一个存储所述目标节点的位置信息的信息节点发送的反馈所述第五请求的第二应答消息;所述第二应答消息携带存储所述位置信息的最后更新时间;则,
根据所述第二应答消息,选择与当前时间最接近的最后更新时间所对应的信息节点作为目标信息节点,向所述目标信息节点发送获取所述目标节点的位置信息的第五请求,或,记录所述用于获取所述位置信息的获取信息;或,
第三获取子单元7033,用于若未接收到所述第二应答消息,则将距离所述目标节点最近的节点的位置信息作为所述目标节点的位置信息。
在一些说明性的实施例中,所述信息节点反馈的第二应答消息还携带存储所述位置信息的地址;
若所述第二获取子单元7032在选择所述目标信息节点后向其发送第五请求,则所述第五请求包括所述目标信息节点发送的第二应答消息中携带的存储所述位置信息的地址,用以根据该地址调取所述目标信息节点上该地址存储的所述位置信息;
若所述第二获取子单元7032在选择所述目标信息节点后记录所述获取信息,则所述获取信息包括所述存储所述位置信息的地址。
在一些说明性的实施例中,所述装置700,还包括:
第一判断单元704,用于所述获取单元703获取所述目标节点的位置信息或所述用于获取所述位置信息的获取信息之前,根据所述目标节点的标识,判断所述目标节点是否已注册,若未注册,则向所述获取节点发送告知所述目标节点未注册的反馈消息;若已注册,则对所述获取节点进行鉴权,若鉴权失败,则终止流程,若鉴权成功,则执行获取所述目标节点的位置信息或所述用于获取所述位置信息的获取信息的操作。
在一些说明性的实施例中,所述装置700,还包括:
第二判断单元705,用于所述接收单元701接收获取节点发送的用于获取所述目标节点的位置信息的第二请求之后,判断是否存储所述目标节点的位置信息;
若否,则所述获取单元703执行所述获取所述目标节点的位置信息或所述用于获取所述位置信息的获取信息的操作;
若是,则所述发送单元702执行所述将所述目标节点的位置信息或所述用于获取所述位置信息的获取信息发送至所述获取节点的操作。
采用上述实施例,可达到以下效果:
可以在目标设备无法提供地理位置信息的场景下,通过分享的方式从其它设备获取其地理位置信息。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。