一种基于簇的网络路由通信方法技术

技术编号:21899062 阅读:21 留言:0更新日期:2019-08-17 18:28
本发明专利技术提供了一种基于簇的网络路由通信方法,该方法应用于数据网络中,所述数据网络包括两个以上的节点,所述数据网络划分为两个以上的簇;节点分为新节点、簇首节点、成员节点以及关联节点;一个簇由一个簇首节点和两个以上的成员节点构成,没有加入簇的节点称为新节点;如果一个成员节点属于两个以上的簇,该成员节点称为关联节点;此实现方法可广泛用于物联网和车载网络,具有广泛的应用前景。例如,在车载网领域,可将基于簇的网络数据通信方法应用于路况检测,通过本发明专利技术提供的实现方法,车辆节点可以获取任意地点的路况从而有效避免道路拥塞。

A Cluster-based Network Routing Communication Method

【技术实现步骤摘要】
一种基于簇的网络路由通信方法
本专利技术涉及一种通信方法,尤其涉及的是一种基于簇的网络路由通信方法。
技术介绍
网络已经成为人类生活中不可缺少的一部分,它提供多种数据服务,因此降低数据通信延迟尤为重要。近年来,很多研究工作致力于网络的数据通信工作,以便使人们能够快速获取网络服务。随着移动网络技术的发展,网络的数据通信技术会进一步提高服务质量。目前,网络的数据通信延迟和代价都比较大,降低了网络服务性能。因此,如何降低网络的数据通信的延迟和代价成为近年来研究的热点问题。
技术实现思路
专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于簇的网络路由通信方法。技术方案:本专利技术公开了一种基于簇的网络路由通信方法,所述网络包括两个以上的节点,所述网络划分为两个以上的簇;节点分为新节点、簇首节点、成员节点以及关联节点;一个簇由一个簇首节点和两个以上的成员节点构成,没有加入簇的节点称为新节点;如果一个成员节点属于两个以上的簇,该成员节点称为关联节点;每个节点具有唯一的坐标;一种类型的数据由一个数据名称唯一标识;一个消息由消息类型标识,如下所示:消息类型值消息名称1发布消息2邻居消息3启动消息4簇首节点消息5信标消息6创建消息7转发消息8请求消息9响应消息网络启动后,所有节点均为新节点;每个节点保存一个最小坐标(xmin,ymin)和最大坐标(xmax,ymax);一个节点的最小坐标(xmin,ymin)和最大坐标(xmax,ymax)的初始值为该节点的坐标;最小坐标和最大坐标初始值相同,执行步骤101-113后,最大坐标不同于最小坐标;最小坐标的横坐标保存的是网络中所有节点横坐标中最小的横坐标,最小坐标的纵坐标保存的是网络中所有节点纵坐标中最小的纵坐标;最大坐标的横坐标保存的是网络中所有节点横坐标中最大的横坐标,最大坐标的纵坐标保存的是网络中所有节点纵坐标中最大的纵坐标;节点发送的发布消息包含消息类型、最小坐标域和最大坐标域;最小坐标域和最大坐标域是发布消息中的两个组成部分,初始值为源节点的最小坐标和最大坐标,执行101-113之后,发布消息中的最小坐标的横坐标保存的是网络中所有节点横坐标中最小的横坐标,最小坐标的纵坐标保存的是网络中所有节点纵坐标中最小的纵坐标;发布消息中的最大坐标的横坐标保存的是网络中所有节点横坐标中最大的横坐标,最大坐标的纵坐标保存的是网络中所有节点纵坐标中最大的纵坐标;新节点NN1通过下述过程更新最小坐标(xmin,ymin)和最大坐标(xmax,ymax):步骤101:开始;步骤102:新节点NN1发送一个发布消息,该发布消息的消息类型值为1,最小坐标和最大坐标分别为新节点NN1保存的最小坐标和最大坐标;步骤103:其他新节点接收到该发布消息后,设置一个时钟,并判断自己的最小坐标和最大坐标是否等于该发布消息的最小坐标和最大坐标,如果是,则执行步骤112,否则执行步骤104;步骤104:步骤103中接收到该发布消息的新节点判断发布消息中的最小坐标的横坐标是否小于自己的最小坐标的横坐标,如果是,执行步骤105,否则执行步骤106;步骤105:接收到该发布消息的新节点将自己的最小坐标的横坐标更新为发布消息中的最小坐标的横坐标;步骤106:接收到该发布消息的新节点判断自己的最小坐标的纵坐标是否大于发布消息中的最小坐标的纵坐标,如果是,执行步骤107,否则执行步骤108;步骤107:接收到该发布消息的新节点将自己的最小坐标的纵坐标更新为发布消息中的最小坐标的纵坐标;步骤108:接收到该发布消息的新节点判断自己的最大坐标的横坐标是否小于发布消息中的最大坐标的横坐标,如果是,执行步骤109,否则执行步骤110;步骤109:接收到该发布消息的新节点将自己的最大坐标的横坐标更新为发布消息中的最大坐标的横坐标;步骤110:接收到该发布消息的新节点判断自己的最大坐标的纵坐标是否小于发布消息中的最大坐标的纵坐标,如果是,执行步骤111,否则执行步骤112;步骤111:接收到该发布消息的新节点将自己的最大坐标的纵坐标更新为发布消息中的最大坐标的纵坐标;该新节点发送一个发布消息,该发布消息的消息类型值为1,最小坐标和最大坐标分别为该新节点保存的最小坐标和最大坐标;步骤112:如果新节点在时钟范围内没有接收到发布消息,则执行步骤113,否则执行步骤103;时钟可以设置为1s;步骤113:结束;网络中任一个节点获取最小坐标(xmin,ymin)和最大坐标(xmax,ymax)后,利用公式(1)和公式(2)计算中间坐标(xmid,ymid);xmid=(xmax+xmin)/2(1)ymid=(ymax+ymin)/2(2)。节点通过上述过程能够获取网络中的最小坐标和最大坐标从而计算中间坐标以找出距离中间坐标最近的簇首节点,并开始构建基于簇的网络,这样可以大幅度降低构建网络的代价和延迟,并增加网络的稳定性。本专利技术所述方法中,坐标(x1,y1)和坐标(x2,y2)的优先级根据下述算法判定:如果x1大于x2,则坐标(x1,y1)的优先级大于坐标(x2,y2);如果x1小于x2,则坐标(x1,y1)的优先级小于坐标(x2,y2);如果x1等于x2且y1大于y2,则坐标(x1,y1)的优先级大于坐标(x2,y2);如果x1等于x2且y1小于y2,则坐标(x1,y1)的优先级小于坐标(x2,y2);一个邻居消息包含消息类型和坐标;一个启动消息包含消息类型、坐标和距离域;一个簇首节点消息包含消息类型和坐标;每个新节点保存一个坐标参数CP1,参数CP1的值等于该节点的坐标;如果一个新节点的坐标与中间坐标的距离小于新节点的通信半径,新节点则执行下述操作:步骤201:开始;步骤202:新节点发送一个邻居消息,该邻居消息的消息类型值为2,坐标等于该新节点的坐标,启动时钟TM1;时钟TM1到期后,该新节点查看所有接收到的邻居消息并设置时钟TM2;如果所有邻居消息的坐标与中间坐标的距离大于或者等于该新节点的坐标与中间坐标的距离,则执行步骤203,否则执行步骤204;步骤203:新节点发送一个启动消息,该启动消息的消息类型值为3,坐标等于新节点的坐标,距离等于该新节点的坐标与中间坐标的距离;步骤204:时钟TM2到期后,新节点查看所有接收到的启动消息,如果所接收到的所有启动消息的坐标域值都相等且等于该新节点的坐标参数CP1的值,则执行步骤208,否则执行步骤205;步骤205:时钟TM2到期后,新节点查看所有接收到的启动消息,如果所接收到的所有启动消息的坐标域值都相等,则执行步骤206,否则执行步骤207;步骤206:时钟TM2到期后,新节点查看所有接收到的启动消息,选择一个启动消息,该启动消息的坐标具有最高权限,将坐标参数CP1的值设置为该启动消息的坐标域值,发送该启动消息,设置时钟TM2,执行步骤204;步骤207:时钟TM2到期后,新节点查看所有接收到的启动消息,选择一个启动消息,该启动消息的距离值最小,将坐标参数CP1的值设置为该启动消息的坐标域值,发送该启动消息,设置时钟TM2,执行步骤204;步骤208:如果一个新节点坐标值等于自己坐标参数CP1,该新节点将自己标记为簇首节点,发送一个簇首节点消息,该簇首节点消息的本文档来自技高网...

【技术保护点】
1.一种基于簇的网络路由通信方法,其特征在于,所述网络包括两个以上的节点,所述网络划分为两个以上的簇;节点分为新节点、簇首节点、成员节点以及关联节点;一个簇由一个簇首节点和两个以上的成员节点构成,没有加入簇的节点称为新节点;如果一个成员节点属于两个以上的簇,该成员节点称为关联节点;每个节点具有唯一的坐标;一种类型的数据由一个数据名称唯一标识;一个消息由消息类型标识,如下所示:

【技术特征摘要】
1.一种基于簇的网络路由通信方法,其特征在于,所述网络包括两个以上的节点,所述网络划分为两个以上的簇;节点分为新节点、簇首节点、成员节点以及关联节点;一个簇由一个簇首节点和两个以上的成员节点构成,没有加入簇的节点称为新节点;如果一个成员节点属于两个以上的簇,该成员节点称为关联节点;每个节点具有唯一的坐标;一种类型的数据由一个数据名称唯一标识;一个消息由消息类型标识,如下所示:网络启动后,所有节点均为新节点;每个节点保存一个最小坐标(xmin,ymin)和最大坐标(xmax,ymax);一个节点的最小坐标(xmin,ymin)和最大坐标(xmax,ymax)的初始值为该节点的坐标;节点发送的发布消息包含消息类型、最小坐标域和最大坐标域;新节点NN1通过下述过程更新最小坐标(xmin,ymin)和最大坐标(xmax,ymax):步骤101:开始;步骤102:新节点NN1发送一个发布消息,该发布消息的消息类型值为1,最小坐标和最大坐标分别为新节点NN1保存的最小坐标和最大坐标;步骤103:其他新节点接收到该发布消息后,设置一个时钟,并判断自己的最小坐标和最大坐标是否等于该发布消息的最小坐标和最大坐标,如果是,则执行步骤112,否则执行步骤104;步骤104:步骤103中接收到该发布消息的新节点判断发布消息中的最小坐标的横坐标是否小于自己的最小坐标的横坐标,如果是,执行步骤105,否则执行步骤106;步骤105:接收到该发布消息的新节点将自己的最小坐标的横坐标更新为发布消息中的最小坐标的横坐标;步骤106:接收到该发布消息的新节点判断自己的最小坐标的纵坐标是否大于发布消息中的最小坐标的纵坐标,如果是,执行步骤107,否则执行步骤108;步骤107:接收到该发布消息的新节点将自己的最小坐标的纵坐标更新为发布消息中的最小坐标的纵坐标;步骤108:接收到该发布消息的新节点判断自己的最大坐标的横坐标是否小于发布消息中的最大坐标的横坐标,如果是,执行步骤109,否则执行步骤110;步骤109:接收到该发布消息的新节点将自己的最大坐标的横坐标更新为发布消息中的最大坐标的横坐标;步骤110:接收到该发布消息的新节点判断自己的最大坐标的纵坐标是否小于发布消息中的最大坐标的纵坐标,如果是,执行步骤111,否则执行步骤112;步骤111:接收到该发布消息的新节点将自己的最大坐标的纵坐标更新为发布消息中的最大坐标的纵坐标;该新节点发送一个发布消息,该发布消息的消息类型值为1,最小坐标和最大坐标分别为该新节点保存的最小坐标和最大坐标;步骤112:如果新节点在时钟范围内没有接收到发布消息,则执行步骤113,否则执行步骤103;步骤113:结束;网络中任一个节点获取最小坐标(xmin,ymin)和最大坐标(xmax,ymax)后,利用公式(1)和公式(2)计算中间坐标(xmid,ymid);xmid=(xmax+xmin)/2(1)ymid=(ymax+ymin)/2(2)。2.根据权利要求1所述的一种基于簇的网络路由通信方法,其特征在于,坐标(x1,y1)和坐标(x2,y2)的优先级根据下述算法判定:如果x1大于x2,则坐标(x1,y1)的优先级大于坐标(x2,y2);如果x1小于x2,则坐标(x1,y1)的优先级小于坐标(x2,y2);如果x1等于x2且y1大于y2,则坐标(x1,y1)的优先级大于坐标(x2,y2);如果x1等于x2且y1小于y2,则坐标(x1,y1)的优先级小于坐标(x2,y2);一个邻居消息包含消息类型和坐标;一个启动消息包含消息类型、坐标和距离域;一个簇首节点消息包含消息类型和坐标;每个新节点保存一个坐标参数CP1,参数CP1的值等于该节点的坐标;如果一个新节点的坐标与中间坐标的距离小于新节点的通信半径,新节点则执行下述操作:步骤201:开始;步骤202:新节点发送一个邻居消息,该邻居消息的消息类型值为2,坐标等于该新节点的坐标,启动时钟TM1;时钟TM1到期后,该新节点查看所有接收到的邻居消息并设置时钟TM2;如果所有邻居消息的坐标与中间坐标的距离大于或者等于该新节点的坐标与中间坐标的距离,则执行步骤203,否则执行步骤204;步骤203:新节点发送一个启动消息,该启动消息的消息类型值为3,坐标等于新节点的坐标,距离等于该新节点的坐标与中间坐标的距离;步骤204:时钟TM2到期后,新节点查看所有接收到的启动消息,如果所接收到的所有启动消息的坐标域值都相等且等于该新节点的坐标参数CP1的值,则执行步骤208,否则执行步骤205;步骤205:时钟TM2到期后,新节点查看所有接收到的启动消息,如果所接收到的所有启动消息的坐标域值都相等,则执行步骤206,否则执行步骤207;步骤206:时钟TM2到期后,新节点查看所有接收到的启动消息,选择一个启动消息,该启动消息的坐标具有最高权限,将坐标参数CP1的值设置为该启动消息的坐标域值,发送该启动消息,设置时钟TM2,执行步骤204;步骤207:时钟TM2到期后,新节点查看所有接收到的启动消息,选择一个启动消息,该启动消息的距离值最小,将坐标参数CP1的值设置为该启动消息的坐标域值,发送该启动消息,设置时钟TM2,执行步骤204;步骤208:如果一个新节点坐标值等于自己坐标参数CP1,该新节点将自己标记为簇首节点,发送一个簇首节点消息,该簇首节点消息的消息类型值为4,坐标等于该新节点的坐标值;新节点接收到簇首节点消息后,将自己标记为成员节点并保存簇首节点消息中的坐标;步骤209:结束。3.根据权利要求2所述的一种基于簇的网络路由通信方法,其特征在于,每个节点保存一个邻居表,一个邻居表项包含坐标、名称集合、节点类型值和生命周期域;如果节点类型值为1,则表明该邻居表项标识的节点为关联节点;如果节点类型值为0,则表明该邻居表项标识的节点为成员节点;如果节点类型值为2,则表明该邻居表项标识的节点为簇首节点;如果节点类型值为3,则表明该邻居表项标识的节点为新节点;一个信标消息包含消息类型、节点类型、名称集合和坐标域;一个节点定期执行下述操作:步骤301:开始;步骤302:节点发送信标消息,该信标消息的消息类型值为5,名称集合由该节点所能提供的数据的名称构成,坐标等于该节点的坐标;如果该节点为新节点,则节点类型值为3,如果该节点为成员节点,则节点类型值为0,如果该节点为关联节点,则节点类型值为1,如果该节点为簇首节点,则节点类型值为2;步骤303:邻居节点接收到该信标消息后查看邻居表;如果存在一个邻居表项,该邻居表项的坐标等于该信标消息中的坐标,则将该邻居表项的名称集合和类型值更新为该信标消息的名称集合和节点类型值,将生命周期设置为最大值;否则该邻居节点创建一个邻居表项,该邻居表项的坐标等于该信标消息中的坐标,名称集合和节点类型值分别等于该信标消息的名称集合和节点类型值,生命周期设置为最大值;步骤304:结束。4.根据权利要求3所述的一种基于簇的网络路由通信方法,其特征在于,如果节点A1和节点A2的纵坐标相同且节点A1的横坐标小于节点A2的横坐标,则节点A1和节点A2的角度为0度,节点A2和节点A1的角度为180度;如果节点A1和节点A2的横坐标相同且节点A1的纵坐标小于节点A2的纵坐标,则节点A1和节点A2的角度为90度,节点A2和节点A1的角度为270度;创建消息由消息类型、类型、角度和坐标构成;节点执行下述操作构建簇:步骤401:开始;步骤402:节点变成簇首节点后,从邻居表中选择所有符合条件1的邻居表项,从符合条件1的邻居表项中选择一个与簇首节点距离最远的邻居表项,发送一个创建消息,该创建消息的消息类型值为6,节点类型值为2,坐标等于该邻居表项的坐标,角度值等于0;该节点从邻居表中选择所有符合条件2的邻居表项,从符合条件2的邻居表项中选择一个与簇首节点距离最远的邻居表项,发送一个创建消息,该创建消息的消息类型值为6,节点类型值为2,坐标等于该邻居表项的坐标,角度值等于90;该节点从邻居表中选择所有符合条件3的邻居表项,从符合条件3的邻居表项中选择一个与簇首节点距离最远的邻居表项,发送一个创建消息,该创建消息的消息类型值为6,节点类型值为2,坐标等于该邻居表项的坐标,角度值等于180;该节点从邻居表中选择所有符合条件4的邻居表项,从符合条件4的邻居表项中选择一个与簇首节点距离最远的邻居表项,发送一个创建消息,该创建消息的消息类型值为6,节点类型值为...

【专利技术属性】
技术研发人员:王晓喃殷旭东朱海霞
申请(专利权)人:常熟理工学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1