CN112954609B - 一种基于骨干环的分布式地理位置服务方法 - Google Patents

一种基于骨干环的分布式地理位置服务方法 Download PDF

Info

Publication number
CN112954609B
CN112954609B CN202110174354.8A CN202110174354A CN112954609B CN 112954609 B CN112954609 B CN 112954609B CN 202110174354 A CN202110174354 A CN 202110174354A CN 112954609 B CN112954609 B CN 112954609B
Authority
CN
China
Prior art keywords
node
nodes
group
head
group head
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110174354.8A
Other languages
English (en)
Other versions
CN112954609A (zh
Inventor
刘强
孙延涛
刘京诚
李佳龙
李鹏飞
胡嘉薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN202110174354.8A priority Critical patent/CN112954609B/zh
Publication of CN112954609A publication Critical patent/CN112954609A/zh
Application granted granted Critical
Publication of CN112954609B publication Critical patent/CN112954609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/14Backbone network devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于骨干环的分布式地理位置服务方法。该方法包括:把网络中的移动节点分成多个分组,每个分组选举出一个组头节点;按照设定算法把所有的组头节点串联成一个环,构成骨干环;在所述骨干环上周期性地传递最新的组头节点的位置信息,各个组头节点存储并更新其所存储的其他组头节点位置信息;每个节点通过哈希算法,选择一个组头节点作为位置服务器,存储每个节点对应的位置服务器信息;查询某个节点的位置时,通过哈希算法计算出该某个节点的位置服务器,发送位置查询请求到该某个节点的位置服务器,获得所述某个节点的位置信息。

Description

一种基于骨干环的分布式地理位置服务方法
技术领域
本发明涉及一种地理位置服务方法,尤其涉及一种基于位置的路由协议的分布式地理位置服务方法。
背景技术
随着无人机技术的发展,无人机可以完成越来越复杂的任务。但是单无人机存在着续航时间较短,通信范围有限,抗打击能力较弱等缺点。相比于单个无人机,无人机集群具有更高的可扩展性和更强的生存能力,并且可以更快地完成更加复杂的任务。但是无人机集群的移动速度快,拓扑变化频繁,导致无人机集群的通信组网问题成为无人机集群发展的瓶颈。
目前已经针对无人机集群提出了多种无线自组织网络路由协议,其中基于地理位置的路由协议可以很好地适应无人机集群的高度移动性和拓扑频繁变化的特点,并且具有良好的扩展性。GPSR(Greedy Perimeter Stateless Routing,贪婪周边无状态路由算法)是一个典型的基于位置的路由协议,使用GPSR协议,网络节点都知道自身地理位置并被统一编址,各节点利用贪婪算法尽量沿直线转发数据。
在基于地理位置的路由协议中,节点进行数据通信时首先需要获取目标节点的位置才能进行数据包的路由转发。因此位置服务是基于地理位置的路由协议的基础。
目前,现有技术中针对基于地理位置的路由协议,已经提出了一些地理位置服务方法,主要分为两类,基于泛洪位置的服务和基于集合的位置服务。目前这些方法存在网络开销大、位置更新不及时、架构复杂、实现成本高等问题。
发明内容
本发明的实施例提供了一种基于骨干环的分布式地理位置服务方法,以克服现有技术的问题。
为了实现上述目的,本发明采取了如下技术方案。
一种基于骨干环的分布式地理位置服务方法,包括:
把网络中的移动节点分成多个分组,每个分组选举出一个组头节点;
按照设定算法把所有的组头节点串联成一个环,构成骨干环;
在所述骨干环上周期性地传递最新的组头节点的位置信息,各个组头节点存储并更新其所存储的其他组头节点位置信息;
每个节点通过哈希算法,各自选择某一个组头节点作为位置服务器,每个组头节点上存储选择该组头节点为位置服务器的节点的位置信息;
查询某个节点的位置时,通过哈希算法计算出该某个节点的位置服务器,发送位置查询请求到该某个节点的位置服务器,获得所述某个节点的位置信息。
优选地,所述的把网络中的移动节点分成多个分组,每个分组选举出一个组头节点,包括:
按照设定的分组原则将网络中的所有节点划分成多个组,每个节点只属于一个分组,所述分组原则包括分组的数量尽量少和分组的稳定性尽量高,每个分组选举出一个组头节点,在组头节点中存储包含本组内所有组员节点位置信息的节点位置表,每个节点在其本地数据库中保存有一张存储所有组头节点的位置信息的组头节点位置表;
选举组头节点的方法如下:
当两个节点能够不经过其他节点直接进行通信,称这两个节点互为邻居节点,节点i的邻居集合记作N(i),邻居集合N(i)中节点数量记作ni,其中稳定邻居节点的数量记作定义集合M(i)={j|j∈N(i),且在集合N(i)中,节点j的/>值最大},M(i)中的节点数量记作mi,M(i)中任一节点的稳定邻居数量记作/>
每个节点k从它的邻居中选择一个节点l作为自己的组头节点,k称为l的组员节点,组头节点l和它的所有组员节点构成一个分组Gl,选择组头节点规则如下:
如果则节点i选择自己为组头节点;
如果mj=1;i∈M(j),则节点j选择节点i为组头节点;
如果mj>1;i,k∈M(j);ni≥nk,则节点j选择节点i为组头节点;
无论节点i是否已经选定组头节点,如果节点i被其他节点选择为组头节点,则节点i选择自己为组头节点。
优选地,分组的稳定性取决于节点间的位置稳定度,设节点i和j为邻居节点,二者距离为dij,dij<dmax,dmax为节点之间的最大通信距离,节点i和j之间的视向速度为vij,则节点i和j的位置稳定度计算如下:
tij=(dmax-dij)/vij
设节点的位置稳定度的阈值为th,当tij≥thortij<0时,则判断节点i和j的位置是相对稳定的,称节点i和j互为稳定邻居。
优选地,所述的按照设定算法把所有的组头节点串联成一个环,构成骨干环,包括:
所设定算法维护两个集合,选定节点集合和候选节点集合,所述选定节点集合保存已经加入到骨干环的节点,所述候选节点集合保存准备加入到骨干环的节点,设定算法选取节点ID最小的组头节点作为根节点,一开始,所述选定节点集合只包含根节点,所述候选节点集合为空,所述根节点创建骨干环构建消息RBM,按照设定算法在各个组头节点之间逐次转发RBM消息,逐个将组头节点加入到所述候选节点集合,再从所述候选节点集合转移到所述选定节点集合当中,当所有组头节点都加入到所述选定节点集合,则所有组头节点组成了骨干网。
优选地,所述的选取节点ID最小的组头节点作为根节点,包括:
每个节点会周期性地广播一条邻居消息,把自身和自己的一跳邻居节点都公布出去,每个节点将通过邻居消息学习到的相邻分组的组头节点信息上报给自己的组头节点,每个组头节点都探测到所有相邻分组的组头节点信息;
每个组头节点选择ID最小的邻居组头节点作为根节点,如果一个组头节点的ID小于所有邻居组头节点的ID,则选择自己为根节点,然后通过根节点消息RM把所选择的根节点通告给所有邻居组头节点;
任一组头节点收到RM消息后,对比所收到的根节点ID(id1)和本地存储的根节点ID(id2),如果id1<id2,则更新id2为id1,并通过RM消息通告给所有邻居组头节点;
经过一段时间的洪泛,所有组头节点都会选择ID最小的组头节点作为根节点。
优选地,所述的按照设定算法在各个组头节点之间逐次转发RBM消息,逐次将组头节点从所述候选节点集合转移到所述选定节点集合中,包括:
根节点创建一条空的RBM消息,把自己加入到RBM的选定节点集合,把它的所有邻居节点加入到RBM的候选节点集合,把RBM消息发送给候选节点集合中距离最近自己的节点;
后续节点接收到RBM消息后,把自己从RBM的候选节点集合移动到选定节点集合,把所有不在RBM消息中的邻居节点加入到RBM的候选节点集合,然后把RBM消息发送给候选节点集合中距离最近自己的节点;
重复上一步骤,直到候选节点集合为空,最后加入到选定节点集合的节点把RBM消息发送给根节点;
根节点收到RBM消息后,将选定节点集合中节点按照加入顺序串联起来,首尾连在一起,构成骨干环。
优选地,所述的在所述骨干环上周期性地传递最新的组头节点的位置信息,各个组头节点存储并更新其所存储的其他组头节点位置信息,包括:
骨干环构建完成后,将组头位置更新消息LPUM周期性地沿着骨干环进行传递,所述LPUM消息包含了所有组头节点的最新位置信息;
每个组头节点在其本地数据库中保存有一张用于存储所有组头节点的位置信息的组头节点位置表,当一个组头节点接收到LPUM消息后,首先更新自己的组头节点位置表,把自己的当前位置写入到LPUM消息中,再把该LPUM消息传递给骨干环中的下一个组头节点。
优选地,所述的每个节点通过哈希算法,各自选择某一个组头节点作为位置服务器,每个组头节点存储选择该组头节点作为位置服务器的节点的位置信息,包括:
每个节点通过哈希算法,各自选择某一个组头节点作为位置服务器,所有节点采用同一个哈希函数,把全部网络节点分别映射到不同的组头节点上面,哈希函数形式如下:
根据上述哈希函数,节点k选择组头节点hk作为位置服务器,并通过节点位置映射消息把自己的位置信息<k,lk>上传给hk,lk是k的组头节点,hk把<k,lk>信息存储在本地数据库的节点分组表中;
当网络拓扑发生变化时,节点可能会从一个分组迁移到另外一个分组,当节点k所属分组发生变化时,需要重新计算其位置服务器hk
每个组头节点上存储选择该组头节点为位置服务器的节点的位置信息。
优选地,所述的查询某个节点的位置时,通过哈希算法计算出该某个节点的位置服务器,发送位置查询请求到该某个节点的位置服务器,获得所述某个节点的位置信息,包括:
当节点k需要发送消息给目的节点d时,节点k通过与位置映射相同的哈希函数计算出节点d的位置服务器hd
节点k查询自己的组头节点位置表,获得hd的地理位置,向hd发送位置查询消息Qk,d
hd查询节点分组表,得到节点d的组头节点ld,再查询组头节点位置表表,获得ld的地理位置,转发位置查询消息Qk,d给ld
ld根据Qk,d,查询本地数据库的节点位置表得到节点d的地理位置,将节点d的地理位置通过位置应答消息Rk,d发送给节点k。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例的一种分布式的地理位置服务方法只需要周期性地更新骨干环上的组头节点位置信息,就可以提供及时的位置服务,具有网络开销小,位置更新速度快的优点。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种节点分组示意图;
图2为本发明实施例提供的一种骨干网示意图;
图3为本发明实施例提供的一种邻居分组示意图;
图4为本发明实施例提供的一种骨干环示意图;
图5为本发明实施例提供的一种位置查询过程示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例基于地理位置的路由协议,提出了一种基于骨干环的分布式地理位置服务方法,该方法的主要内容包括:
把网络中的移动节点分成多个分组(Group),每个分组选举出一个组头节点(GroupLeader,GL);按照设定算法把GL节点串联成一个环,构为骨干环(BackboneRing,BR);
骨干环上周期性地传递最新的组头位置信息,用于更新每个组头节点上所存储的其他组头节点位置;
每个节点通过哈希算法,各自选择某一个组头节点作为位置服务器,每个组头节点存储选择该组头节点为位置服务器的节点的位置信息;
查询某个节点的位置时,首先通过哈希算法计算出该节点的位置服务器,然后发送查询请求到该位置服务器,完成节点位置的查询工作。
1)节点分组
图1为本发明实施例提供的一种节点分组示意图。网络中的所有节点划分成多个组,每个节点属于且仅属于一个分组。每个分组选择且仅选择一个节点作为组头节点,其他节点作为组员节点。组头节点可以一跳和组内的其他组员节点直接通信,在组头节点中存储包含本组内所有组员节点位置信息的节点位置表(Node PositionTable,NPT)。
网络中的两个节点可以不经过其他节点直接进行通信,称这两个节点互为邻居节点。整个网络构成一个连通图G,G={V,E}。其中V表示所有节点的集合,E表示邻居节点间的无线通信链路集合。
本发明按照如下目标进行分组:
O1:分组的数量尽量少;
O2:分组的稳定性尽量高。
分组的稳定性取决于节点间的位置稳定度。设节点i和j为邻居节点,二者距离为dij,dij<dmax,视向速度为vij。节点i和j的位置稳定度计算如下:
tij=(dmax-dij)/vij
视向速度表示两个节点间距离的变化速度(变化率),距离变大取值为正,距离缩小取值为负。稳定度tij的物理含义是:节点i和j以当前视向速度运动时,预计tij时间后,二者间的距离超出最大通信距离dmax。当二者相向运动,vij<0,tij<0。设位置稳定度的阈值为th,当tij≥thortij<0时,节点i和j的位置是相对稳定的,称节点i和j互为稳定邻居。
节点i的邻居集合记作N(i),邻居集合N(i)中节点数量记作ni,其中稳定邻居节点的数量记作定义集合M(i)={j|j∈N(i),且在集合N(i)中,节点j的/>值最大}。M(i)是N(i)的子集,是N(i)中具有最多的稳定邻居数量的节点的集合,M(i)中的节点数量记作mi,M(i)中任一节点的稳定邻居数量记作/>
每个节点k从它的邻居中选择一个节点l作为自己的组头节点,k称为l的组员节点。组头节点l和它的所有组员节点构成一个分组Gl。选择组头节点规则如下:
如果则节点i选择自己为组头节点;
如果mj=1;i∈M(j),则节点j选择节点i为组头节点;
如果mj>1;i,k∈M(j);ni≥nk,则节点j选择节点i为组头节点;
无论节点i是否已经选定组头节点,如果i被其他节点选择为组头节点,则节点i选择自己为组头节点。
2)构建骨干环
本发明把所有组头节点组成一个新的网络,称为骨干网,如图2所示。在该骨干网中,组头节点之间的连线表示两个分组是邻居分组,连线上的数字表示距离。
图3为本发明实施例提供的一种邻居分组示意图。设有分组GA和GB,A和B分别是GA和GB的组头节点,GA存在任一个节点i,GB存在任一个节点j,若节点i和节点j是邻居节点,则称分组GA和GB是邻居分组,A和B是邻居组头节点,如图3所示。
相邻的组头节点A和B之间通过组员节点i和j学习邻居关系,交互位置信息。每个节点会通过电台周期性地广播一条邻居消息(NeighborMessage,NM),把自身和自己的一跳邻居节点都公布出去。节点i公布的邻居消息表如下:
表1:邻居消息示例
ID 组头节点ID 类型 位置
i A 组员 x1,y1,z1
A A 组头 x2,y2,z2
j B 组员 x3,y3,z3
通过NM消息,节点i和j可以分别学习到相邻分组的组头节点B和A的位置信息,然后上报给自己的组头节点。通过这一方法,每个组头节点都探测到所有相邻分组的组头节点。
骨干网首先选取节点ID最小的组头节点作为根节点,然后从根节点出发,逐渐构建出骨干环。选择根节点方法如下:
每个组头节点选择ID最小的邻居组头节点作为根节点,如果一个组头节点的ID小于所有邻居组头节点的ID,则选择自己为根节点,然后通过根节点消息(RootMessage,RM)把所选择的根节点通告给所有邻居组头节点。
任一组头节点收到RM消息后,对比所收到的根节点ID(id1)和本地存储的根节点ID(id2),如果id1<id2,则更新id2为id1,并通过根节点消息RM通告给所有邻居组头节点。
经过一段时间的洪泛,所有组头节点都会选择ID最小的组头节点作为根节点。
本发明采用一种距离最近优先的分布式算法构造骨干环。算法维护两个集合,选定节点集合和候选节点集合。选定节点集合保存已经加入到骨干环的节点,候选节点集合保存准备加入到骨干环的节点。一开始,选定节点集合只包含根节点,候选节点集合为空。算法逐个把组头节点加入到候选节点集合,再从候选节点集合转移到选定节点集合当中。当所有组头节点都加入到选定节点集合,则完成骨干环的构建。
算法维护一条骨干环构建(Ring BuildMessage,RBM)消息,用于封装选定节点集合和候选节点集合信息,并在节点之间传递。RBM消息首先由根节点创建,逐次转发给新加入骨干环的节点,最后返回根节点。
算法步骤如下:
1.根节点创建一条空的RBM消息,把自己加入到RBM的选定节点集合,把它的所有邻居节点加入到RBM的候选节点集合。然后把RBM消息发送给候选节点集合中距离最近自己的节点。
2.后续节点接收到RBM消息后,把自己从RBM的候选节点集合移动到选定节点集合,把所有不在RBM消息中的邻居节点加入到RBM的候选节点集合。然后把RBM消息发送给候选节点集合中距离最近自己的节点。
3.重复上一步骤,直到候选节点集合为空。最后加入到选定节点集合的节点把RBM消息发送给根节点。
4.根节点收到RBM消息,完成骨干环的创建。选定节点集合中节点按照加入顺序串联起来,首尾连在一起,构成骨干环。
图4为本发明实施例提供的一种骨干环示意图。图2所示骨干网使用上述方法构建骨干环的过程和最后构建出来的骨干环如下表所示。
表2:骨干环构建过程
3)位置更新
骨干环构建完成后,组头位置更新消息(LeaderPosition Update Message,LPUM)周期性地沿着骨干环进行传递。一条LPUM消息包含了所有组头节点的最新位置信息。
每个节点在其本地数据库中保存有一张组头节点位置表(LeaderPositionTable,LPT),用于存储所有组头节点的位置信息。
当一个组头节点接收到LPUM消息后,首先更新自己的LPT,然后把自己的当前位置写入到LPUM中,再把该LPUM传递给骨干环中的下一个组头节点。当组员节点接收到本组的组头节发送的LPUM消息后,更新自己的LPT。
4)位置映射
组头节点作为位置服务器,提供位置服务。每个组头节点负责为网络的一部分节点提供位置服务。本发明中所有节点采用同一个哈希函数,把全部网络节点分别映射到不同的组头节点上面。本发明对该哈希函数的具体实现方式不做要求,哈希函数形式如下:
根据上述哈希函数,节点k选择组头节点hk作为位置服务器,并通过节点位置映射消息(Node Position Mapping Message,NPMM)把自己的位置信息<k,lk>上传给hk,lk是k的组头节点。hk把<k,lk>信息存储在本地数据库的节点分组表(NodeGrouping Table,NGT)中。
当网络拓扑发生变化时,节点可能会从一个分组迁移到另外一个分组。当节点k所属分组发生变化时,需要重新计算其位置服务器hk
5)位置查询
图5为本发明实施例提供的一种位置查询过程示意图。在GPSR路由协议中,节点k发送消息给目的节点d,首先要查询d的地理位置。步骤如下:
第一步,节点k通过与位置映射相同的哈希函数计算出节点d的位置服务器hd
第二步,节点k查询自己的LPT表,获得hd的地理位置,向hd发送位置查询消息(Location Query Message,LQM)Qk,d
第三步,hd查询NGT表,得到节点d的组头节点ld,在查询LPT表,获得ld的地理位置。转发位置查询消息Qk,d给ld
第四步,ld根据Qk,d,查询本地数据库的NPT得到节点d的地理位置,通过位置应答消息(LocationResponseMessage,LRM)Rk,d发送给节点k。
6)节点间通信
本发明中,除了一些广播消息(比如NM消息)外,不同节点之间的通信,路由选路过程全部采用GPSR路由协议完成。GPSR协议只需要知道目的节点的地理位置,就可以完成路由选路过程。
在位置服务过程中,以下消息需要使用GPSR路由协议。
·RBM消息。
·LPUM消息
·NPMM消息
·LQM消息
·LRM消息
节点在发送上述消息之前,俱已获知目的节点的地理位置。
综上所述,本发明实施例通过节点分组、构建骨干环和分布式位置服务器等技术手段,实现一种分布式的地理位置服务方法。该方法只需要周期性地更新骨干环上的组头节点位置信息就可以提供及时的位置服务,具有网络开销小,位置更新速度快的优点。另外,本发明采用分布式的方法,由多个节点作为位置服务器提供位置服务,避免了单一位置服务器方式存在的服务器负担重,容易出现负载瓶颈和单点故障问题,系统具有更好的可靠性和扩展性。最后,本发明所提出的骨干环结构简单,易于实现,可以有效降低大规模网络的地理位置服务成本。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (8)

1.一种基于骨干环的分布式地理位置服务方法,其特征在于,包括:
把网络中的移动节点分成多个分组,每个分组选举出一个组头节点;
按照设定算法把所有的组头节点串联成一个环,构成骨干环;
在所述骨干环上周期性地传递最新的组头节点的位置信息,各个组头节点存储并更新其所存储的其他组头节点位置信息;
每个节点通过哈希算法,各自选择某一个组头节点作为位置服务器,每个组头节点上存储选择该组头节点为位置服务器的节点的位置信息;
查询某个节点的位置时,通过哈希算法计算出该某个节点的位置服务器,发送位置查询请求到该某个节点的位置服务器,获得所述某个节点的位置信息;
所述的把网络中的移动节点分成多个分组,每个分组选举出一个组头节点,包括:
按照设定的分组原则将网络中的所有节点划分成多个组,每个节点只属于一个分组,所述分组原则包括分组的数量尽量少和分组的稳定性尽量高,每个分组选举出一个组头节点,在组头节点中存储包含本组内所有组员节点位置信息的节点位置表,每个节点在其本地数据库中保存有一张存储所有组头节点的位置信息的组头节点位置表;
选举组头节点的方法如下:
当两个节点能够不经过其他节点直接进行通信,称这两个节点互为邻居节点,节点i的邻居集合记作N(i),邻居集合N(i)中节点数量记作ni,其中稳定邻居节点的数量记作定义集合M(i)={j|j∈N(i),且在集合N(i)中,节点j的/>值最大},M(i)中的节点数量记作mi,M(i)中任一节点的稳定邻居数量记作/>
每个节点k从它的邻居中选择一个节点l作为自己的组头节点,k称为l的组员节点,组头节点l和它的所有组员节点构成一个分组Gl,选择组头节点规则如下:
如果则节点i选择自己为组头节点;
如果mj=1;i∈M(j),则节点j选择节点i为组头节点;
如果mj>1;i,k∈M(j);ni≥nk,则节点j选择节点i为组头节点;
无论节点i是否已经选定组头节点,如果节点i被其他节点选择为组头节点,则节点i选择自己为组头节点。
2.根据权利要求1所述的方法,其特征在于,分组的稳定性取决于节点间的位置稳定度,设节点i和j为邻居节点,二者距离为dij,dij<dmax,dmax为节点之间的最大通信距离,节点i和j之间的视向速度为vij,则节点i和j的位置稳定度计算如下:
tij=(dmax-dij)/vij
设节点的位置稳定度的阈值为th,当tij≥thor tij<0时,则判断节点i和j的位置是相对稳定的,称节点i和j互为稳定邻居。
3.根据权利要求1所述的方法,其特征在于,所述的按照设定算法把所有的组头节点串联成一个环,构成骨干环,包括:
所设定算法维护两个集合,选定节点集合和候选节点集合,所述选定节点集合保存已经加入到骨干环的节点,所述候选节点集合保存准备加入到骨干环的节点,设定算法选取节点ID最小的组头节点作为根节点,一开始,所述选定节点集合只包含根节点,所述候选节点集合为空,所述根节点创建骨干环构建消息RBM,按照设定算法在各个组头节点之间逐次转发RBM消息,逐个将组头节点加入到所述候选节点集合,再从所述候选节点集合转移到所述选定节点集合当中,当所有组头节点都加入到所述选定节点集合,则所有组头节点组成了骨干网。
4.根据权利要求3所述的方法,其特征在于,所述的选取节点ID最小的组头节点作为根节点,包括:
每个节点会周期性地广播一条邻居消息,把自身和自己的一跳邻居节点都公布出去,每个节点将通过邻居消息学习到的相邻分组的组头节点信息上报给自己的组头节点,每个组头节点都探测到所有相邻分组的组头节点信息;
每个组头节点选择ID最小的邻居组头节点作为根节点,如果一个组头节点的ID小于所有邻居组头节点的ID,则选择自己为根节点,然后通过根节点消息RM把所选择的根节点通告给所有邻居组头节点;
任一组头节点收到RM消息后,对比所收到的根节点ID,id1,和本地存储的根节点ID,id2,如果id1<id2,则更新id2为id1,并通过RM消息通告给所有邻居组头节点;
经过一段时间的洪泛,所有组头节点都会选择ID最小的组头节点作为根节点。
5.根据权利要求3所述的方法,其特征在于,所述的按照设定算法在各个组头节点之间逐次转发RBM消息,逐次将组头节点从所述候选节点集合转移到所述选定节点集合中,包括:
根节点创建一条空的RBM消息,把自己加入到RBM的选定节点集合,把它的所有邻居节点加入到RBM的候选节点集合,把RBM消息发送给候选节点集合中距离最近自己的节点;
后续节点接收到RBM消息后,把自己从RBM的候选节点集合移动到选定节点集合,把所有不在RBM消息中的邻居节点加入到RBM的候选节点集合,然后把RBM消息发送给候选节点集合中距离最近自己的节点;
重复上一步骤,直到候选节点集合为空,最后加入到选定节点集合的节点把RBM消息发送给根节点;
根节点收到RBM消息后,将选定节点集合中节点按照加入顺序串联起来,首尾连在一起,构成骨干环。
6.根据权利要求1所述的方法,其特征在于,所述的在所述骨干环上周期性地传递最新的组头节点的位置信息,各个组头节点存储并更新其所存储的其他组头节点位置信息,包括:
骨干环构建完成后,将组头位置更新消息LPUM周期性地沿着骨干环进行传递,所述LPUM消息包含了所有组头节点的最新位置信息;
每个组头节点在其本地数据库中保存有一张用于存储所有组头节点的位置信息的组头节点位置表,当一个组头节点接收到LPUM消息后,首先更新自己的组头节点位置表,把自己的当前位置写入到LPUM消息中,再把该LPUM消息传递给骨干环中的下一个组头节点。
7.根据权利要求1所述的方法,其特征在于,所述的每个节点通过哈希算法,各自选择某一个组头节点作为位置服务器,每个组头节点上存储选择该组头节点为位置服务器的节点的位置信息,包括:
每个节点通过哈希算法,各自选择某一个组头节点作为位置服务器,所有节点采用同一个哈希函数,把全部网络节点分别映射到不同的组头节点上面,哈希函数形式如下:
根据上述哈希函数,节点k选择组头节点hk作为位置服务器,并通过节点位置映射消息把自己的位置信息<k,lk>上传给hk,lk是k的组头节点,hk把<k,lk>信息存储在本地数据库的节点分组表中;
当网络拓扑发生变化时,节点可能会从一个分组迁移到另外一个分组,当节点k所属分组发生变化时,需要重新计算其位置服务器hk
每个组头节点上存储选择该组头节点为位置服务器的节点的位置信息。
8.根据权利要求1所述的方法,其特征在于,所述的查询某个节点的位置时,通过哈希算法计算出该某个节点的位置服务器,发送位置查询请求到该某个节点的位置服务器,获得所述某个节点的位置信息,包括:
当节点k需要发送消息给目的节点d时,节点k通过与位置映射相同的哈希函数计算出节点d的位置服务器hd
节点k查询自己的组头节点位置表,获得hd的地理位置,向hd发送位置查询消息Qk,d
hd查询节点分组表,得到节点d的组头节点ld,再查询组头节点位置表表,获得ld的地理位置,转发位置查询消息Qk,d给ld
ld根据Qk,d,查询本地数据库的节点位置表得到节点d的地理位置,将节点d的地理位置通过位置应答消息Rk,d发送给节点k。
CN202110174354.8A 2021-02-09 2021-02-09 一种基于骨干环的分布式地理位置服务方法 Active CN112954609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110174354.8A CN112954609B (zh) 2021-02-09 2021-02-09 一种基于骨干环的分布式地理位置服务方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110174354.8A CN112954609B (zh) 2021-02-09 2021-02-09 一种基于骨干环的分布式地理位置服务方法

Publications (2)

Publication Number Publication Date
CN112954609A CN112954609A (zh) 2021-06-11
CN112954609B true CN112954609B (zh) 2023-09-05

Family

ID=76244332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110174354.8A Active CN112954609B (zh) 2021-02-09 2021-02-09 一种基于骨干环的分布式地理位置服务方法

Country Status (1)

Country Link
CN (1) CN112954609B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596746B (zh) * 2021-07-22 2022-11-04 北京金山云网络技术有限公司 集群消息的处理方法、装置、电子设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061335A (en) * 1997-07-24 2000-05-09 At&T Corp Method for designing SONET ring networks suitable for local access
CN101272344A (zh) * 2008-04-25 2008-09-24 北京航空航天大学 一种用于移动传感器网络的基于模糊位置信息的路由方法
CN110677455A (zh) * 2019-08-20 2020-01-10 北京航空航天大学 基于分布式哈希的动态均衡账户映射方法
CN111491324A (zh) * 2019-01-29 2020-08-04 电信科学技术研究院有限公司 一种维护虚拟骨干网的方法、装置及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201809619UA (en) * 2016-05-26 2018-11-29 Tata Communications America Inc Mobile overlay virtual enterprise network and virtual internet for enterprises

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061335A (en) * 1997-07-24 2000-05-09 At&T Corp Method for designing SONET ring networks suitable for local access
CN101272344A (zh) * 2008-04-25 2008-09-24 北京航空航天大学 一种用于移动传感器网络的基于模糊位置信息的路由方法
CN111491324A (zh) * 2019-01-29 2020-08-04 电信科学技术研究院有限公司 一种维护虚拟骨干网的方法、装置及存储介质
CN110677455A (zh) * 2019-08-20 2020-01-10 北京航空航天大学 基于分布式哈希的动态均衡账户映射方法

Also Published As

Publication number Publication date
CN112954609A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN108600942B (zh) 一种无人机自组网的路由方法
CN110149671B (zh) 无人机蜂群网络的路由选择方法
JP4807701B2 (ja) 移動端末装置、制御方法及び移動通信システム
CN112887931B (zh) 一种基于中心节点辅助的异构集群多业务组网方法
CN111556550B (zh) 无人机网络通信的路由方法
CN108040353A (zh) 一种q学习的无人机集群智能地理路由方法
CN108183865B (zh) 一种基于节点位置余弦相似度的机会网络转发方法
US8284775B2 (en) Six-address scheme for multiple hop forwarding in wireless mesh networks
WO2004110082B1 (en) System and method for determining location of a device in a wireless communication network
CN109511123B (zh) 一种基于时间信息的软件定义车辆网络自适应路由方法
CN111130853B (zh) 一种基于时间信息的软件定义车辆网络的未来路由预测方法
CN112822745B (zh) 一种面向无人机自组网的自适应路由方法
CN112954609B (zh) 一种基于骨干环的分布式地理位置服务方法
CN107690170B (zh) 基于位置和任务规划的动态路由计算方法
CN110248392B (zh) 一种车联网中基于节点效能的机会转发方法
CN109803342B (zh) 一种面向能量均衡的无人机自组织网络路由方法
Waheed et al. Laod: Link aware on demand routing in flying ad-hoc networks
CN116506915A (zh) 一种基于位置预测的无人机自组网路由方法
CN109600712B (zh) 一种基于软件定义车联网的自适应路由方法
CN108832995B (zh) 基于动态规划的无人机协同消息传输方法
EP1983699B1 (en) Multicast routing protocol for a clustered mobile ad hoc network
KR102368357B1 (ko) 무인 이동체의 예측 위치 기반 멀티 캐스트 라우팅 방법
Gruber et al. Ad hoc routing for cellular coverage extension
CN110324875B (zh) 一种基于节点中心性的无线传感器网络能耗均衡路由方法
CN112423356A (zh) 基于能量均衡的无人装备集群aodv路由方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Liu Qiang

Inventor after: Sun Yantao

Inventor after: Liu Jingcheng

Inventor after: Li Jialong

Inventor after: Li Pengfei

Inventor after: Hu Jiawei

Inventor before: Sun Yantao

Inventor before: Liu Qiang

Inventor before: Liu Jingcheng

Inventor before: Li Jialong

Inventor before: Li Pengfei

Inventor before: Hu Jiawei

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant