本发明涉及通信技术领域,尤其涉及一种路由确定方法和装置。
背景技术:
无线传感器网络是用于感知、收集、传输和处理监测环境状态信息,并由无线节点或终端相互合作组成的网络,其具有无线通信、组网灵活、成本低和无需有线基础设施等特点,在军事通信、工业控制、应急抢险和智能家庭等领域有着广泛的应用前景。
另外,随着多媒体技术的发展和无线多跳网络技术的推广,如何在传统无线通信系统未覆盖或遭到破坏的环境,如森林、火山、救灾抢险等应用场合满足人们对话音、数据、视频图像等通信业务的需求成为研究热点。
例如,实时视频传输是具有较高要求的数据传输业务。由于数据量较大,使用一条路径传输时,很容易由于节点出现故障而影响传输质量。同时,由于节点转发队列过大,因此采用单一路径传输数据会引起端到端延时增大和丢包的问题,而这些问题是实时视频传输业务难以忍受的。
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
技术实现要素:
多径传输是解决上述问题的一种方法,但是经研究发现,多径传输并不意味着路径越多越好,过多的路径可能会引起路径间干扰,影响数据传输的质量;并且多径传输在目的节点附近的汇集常会引起拥塞现象,会导致增大延时和丢包率。另外路径建立和维护的非集中控制方式,会引起网络控制信息难以及时到达,降低了网络对新的服务请求的响应速度。
本发明实施例提出了一种路由确定方法及其装置,基于两种类型的网络参数确定用于源节点和目的节点间通信的主路径和副路径,从而提高网络性能;另外通过确定主路径上各节点的备用路径,能够有效的应对主路径失效的问题。
本发明实施例的上述目的是通过如下技术方案实现的:
根据本发明实施例的第一个方面,提供了一种路由确定装置,其中,该装置包括:
第一选择单元,其用于从源节点至目的节点之间的多条路径中选择第一路径和第二路径,其中该第一路径的第一网络参数优于或等于该第二路径的第一网络参数,该第二路径的第二网络参数优于或等于该第一路径的第二网络参数;
第一确定单元,其用于在选择的该第一路径和第二路径不同、且该第一路径的第二网络参数与该第二路径的第二网络参数之间的关系满足第一预定条件时,将该第一路径确定为主路径,将该第二路径确定为副路径;或者在选择的该第一路径和第二路径不同、且该第二路径的第一网络参数与该第一路径的第一网络参数之间的关系满足第二预定条件时,将该第二路径确定为主路径,将该第一路径确定为副路径。
根据本发明实施例的第二个方面,提供了一种路由确定装置,其中,该装置包括:
第四确定单元,其用于根据预设准则为主路径上各节点确定绕过该节点的邻居节点的备用路径;
其中,该预定准则为该备用路径绕过该主路径上的节点个数不超过第三阈值和/或该备用路径上的节点个数不超过第四阈值。
根据本发明实施例的第三个方面,提供了一种路由确定方法,其中,该方法包括:
从源节点至目的节点之间的多条路径中选择第一路径和第二路径,其中该第一路径的第一网络参数优于或等于该第二路径的第一网络参数,该第二路径的第二网络参数优于或等于该第一路径的第二网络参数;
在该第一路径和该第二路径不同,且在该第一路径的第二网络参数与该第二路径的第二网络参数之间的关系满足第一预定条件时,将该第一路径确定为主路径,将该第二路径确定为副路径;或者在该第一路径和该第二路径不同,且在该第二路径的第一网络参数与该第一路径的第一网络参数之间的关系满足第二预定条件时,将该第二路径确定为主路径,将该第一路径确定为副路径。
本发明实施例的有益效果在于,通过本实施例的上述方法和装置,基于两种类型的网络参数确定用于源节点和目的节点间通信的主路径和副路径,从而提高网络性 能;另外通过确定主路径上各节点的备用路径,能够有效的应对主路径失效的问题。
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
参照以下的附图可以更好地理解本发明的很多方面。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大或缩小。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。此外,在附图中,类似的标号表示几个附图中对应的部件,并可用于指示多于一种实施方式中使用的对应部件。
在附图中:
图1是本实施例1中路由确定方法流程图;
图2是本实施例2中路由确定方法流程图;
图3是本实施例3中源节点工作方法流程图;
图4是本实施例3中中间节点工作方法流程图;
图5是本实施例3中目的节点工作方法流程图;
图6是本实施例3中主路径上请求建立备用路径节点工作方法流程图;
图7是本实施例3中主路径上应答建立备用路径节点工作方法流程图;
图8是本实施例3中非主路径上节点工作方法流程图;
图9是本实施例3中确定备用路径示意图;
图10是本实施例4中路由确定装置构成示意图;
图11是本实施例4中路由确定装置构成示意图;
图12是本实施例5中路由确定装置硬件构成示意图;
图13是本实施例6中路由确定装置构成示意图;
图14是本实施例6中路由确定装置硬件构成示意图。
具体实施方式
参照附图,通过下面的说明书,本发明实施例的前述以及其它特征将变得明显。这些实施方式只是示例性的,不是对本发明的限制。为了使本领域的技术人员能够容易地理解本发明的原理和实施方式,本发明实施例以无线传感器网络为例进行说明,但可以理解,本发明实施例并不限于无线传感器网络,例如,本发明实施例提供的方法和装置也适用于其它无线网络。
在本实施例中,主路径表示源节点到目的节点间可靠性较高的路径,性能较优,用来传输优先级较高的数据;副路径表示源节点到目的节点间与主路径节点不交叉、性能次优的路径,用来传输优先级相对较低的数据;备用路径开始于请求建立备用路径的主路径上的节点,结束于跨越其邻居节点之后的某个主路径上节点,该节点的备用路径在主路径上节点(该节点的邻居节点)出现故障时启用。下面参照附图对本发明的优选实施方式进行说明。
实施例1
本实施例1提供一种路由确定方法,用于确定源节点和目的节点之间的主路径和副路径。
图1是本发明实施例1中多路径确定方法流程图,请参照图1,该方法包括:
步骤101,从源节点至目的节点之间的多条路径中选择第一路径和第二路径,其中该第一路径的第一网络参数优于或等于该第二路径的第一网络参数,该第二路径的第二网络参数优于或等于该第一路径的第二网络参数;
步骤102,在该第一路径和该第二路径不同,且在该第一路径的第二网络参数与该第二路径的第二网络参数之间的关系满足第一预定条件时,将该第一路径确定为主路径,将该第二路径确定为副路径;或者,在该第一路径和该第二路径不同,且在该第二路径的第一网络参数与该第一路径的第一网络参数之间的关系满足第二预定条件时,将该第二路径确定为主路径,将该第一路径确定为副路径。
由上述实施例可知,基于两种类型的网络参数,即第一网络参数和第二网络参数 确定用于源节点和目的节点间通信的主路径和副路径,从而提高网络性能。
在本实施例中,该第一网络参数和第二网络参数可以是单一的网络参数,例如路径跳数、响应时间、时延等参数;或者该第一网络参数和第二网络参数可以是多个网络参数的联合,例如可以将某一网络参数组中的多个参数进行加权计算后得到的参数作为第一网络参数或第二网络参数,例如,网络参数组包括路径跳数、响应时间、能耗和丢包率,其中,将该第一网络参数设置为对路径跳数和响应时间进行加权计算后得到的联合参数1,该第二网络参数设置为对能耗和丢包率进行加权计算后得到的联合参数2;本实施例并不以此作为限制,但该第一网络参数和第二网络参数不同。
在本实施例中,可预先获得从源节点至目的节点之间的多条路径的第一网络参数和第二网络参数,这样,在步骤101中,不需计算该第一网络参数和第二网络参数,而直接选择该第一路径和第二路径;此外,也可在步骤101中,先分别计算源节点至目的节点之间的多条路径的第一网络参数和第二网络参数,然后选出第一路径和第二路径。
在本实施例中,在步骤102中,在选择的该第一路径和第二路径不同时,将根据该第一路径和该第二路径的第二网络参数之间的关系、或者该第一路径和第二路径的第一网络参数之间的关系是否满足预定条件来确定主路径和副路径,从而实现主、副路径的两种网络参数都较优,提高网络性能。
在本实施例中,该第一预定条件可以是两条路径的第二网络参数之差小于第一阈值;该第二预定条件可以是两条路径的第一网络参数之差小于第二阈值,该第一预定条件和第二预定条件、以及相应的第一阈值和第二阈值可以根据实际网络需要设定,例如,该第一预设条件和第二预设条件也可以是上述网络参数的比值是否满足预定阈值,例如在网络参数为能耗或丢包率时,该第一预定条件和第二预定条件可以是两条路径的能耗或丢包率的比值小于预定的阈值,本实施例并不以此作为限制。
在一个实施例中,在步骤102中,在该第一路径和第二路径不同时,且该第一路径的第二网络参数与该第二路径的第二网络参数之间的关系满足第一预设条件时,将该第一路径确定为主路径,这样,该第一路径的第一网络参数优于或等于第二路径的第一网络参数,该第一路径的第二网络参数虽然没有优于第二路径的第二网络参数,但该第一路径的第二网络参数与第二路径的第二网络参数相差(或比值)小于第一阈值,同样满足网络性能的要求,可以将其确定为传输优先级较高的主路径,并将第二 路径确定为副路径。
在另一个实施例中,在步骤102中,在该第一路径和第二路径不同时,且该第一路径的第一网络参数与该第二路径的第一网络参数之间的关系满足第二预设条件时,将该第二路径确定为主路径,这样,该第二路径的第二网络参数优于或等于第一路径的第二网络参数,该第二路径的第一网络参数虽然没有优于第一路径的第一网络参数,但该第二路径的第一网络参数与第一路径的第一网络参数相差(或比值)小于第二阈值,同样满足网络性能的要求,可以将其确定为传输优先级较高的主路径,并将第一路径确定为副路径。
在本实施例中,可以根据实际网络需要选择按照满足该第一预定条件或第二预定条件来确定主、副路径,例如,在当前网络对该第一网络参数更看重时,可以选择按照满足该第一预定条件来确定主、副路径,反之,在当前网络对该第二网络参数更看重时,可以选择按照满足该第二预定条件来确定主、副路径。
以上针对步骤101中选出的第一路径和第二路径是不同路径时确定主副路径的方法进行说明,在本实施例中,在第一路径和第二路径是相同路径时,可以将第一路径或者第二路径确定为主路径。
在该实施例中,在确定主路径之后,还可以确定副路径;具体的,可以从源节点至目的节点之间的多条路径中选择除该第一路径和第二路径以外的第三路径和第四路径,其中该第三路径的第一网络参数优于该第四路径的第一网络参数,该第四路径的第二网络参数优于该第三路径的第二网络参数;在该第三路径和该第四路径不同,且在该第三路径的第二网络参数与该第四路径的第二网络参数之间的关系满足第一预定条件时,将该第三路径确定为副路径;或者,在该第三路径和该第四路径不同,且在该第四路径的第一网络参数与该第三路径的第一网络参数之间的关系满足第二预定条件时,将该第四路径确定为副路径;在该第三路径和该第四路径相同时,将该第三路径或第四路径确定为副路径。
其中,该第三路径和第四路径的选择方法以及副路径的确定方法可以参考步骤101和102中确定主路径的方法,此处不再赘述。
在本实施例中,在步骤101中,可以直接选择第一网络参数最优的第一路径和第二网络参数最优的第二路径,这样,在路径建立过程中,按照两种网络参数最优的原则,使得确定的路径可靠性更高,且性能更优。但本实施例并不以此作为限制,该第 一路径的第一网络参数可以不是最优的,但只要满足网络性能要求,该第一路径的第一网络参数也可以优于或等于第二路径的第一网络参数,同理,该第二路径的第二网络参数可以不是最优的,但只要满足网络性能要求,也可以优于或等于第一路径的第二网络参数。
以下举例进行说明,将该第一网络参数设置为路径跳数,该第二网络参数设置为响应时间,其中,路径跳数越少,响应时间越短,则表示该参数值越优,需要说明的是,此处仅为示例性的说明,该第一网络参数和第二网络参数可以替换为上述任意参数。
在步骤101中,选择第一路径(以下称为路径A)和第二路径(以下称为路径B),其中路径A的路径跳数少于或等于路径B的路径跳数,路径B的响应时间短于或等于路径A的响应时间;为了建立更可靠、且性能更优的路径,在步骤101,也可以直接选择路径跳数最少的路径A和响应时间最短的路径B;
在步骤102中,在路径A和路径B是不同的路径时,且路径A的响应时间和路径B的响应时间之差小于第一阈值时,将路径A确定为主路径,将路径B确定为副路径;或者在路径A和路径B是不同的路径时,且路径B的路径跳数和路径A的路径跳数之差小于第二阈值时,将路径B确定为主路径,将路径A确定为副路径。
在路径A和路径B是相同路径时,将该路径A或B确定为主路径,并从多条路径中选择除A和B以外的第三路径(以下称为路径C)和第四路径(以下称为路径D),其中路径C的路径跳数少于或等于路径D的路径跳数,路径D的响应时间短于或等于路径C的响应时间;在路径C和路径D是不同的路径时,且路径C的响应时间和路径D的响应时间之差小于第一阈值时,将路径C确定为副路径;或者路径D的路径跳数和路径C的路径跳数之差小于第二阈值时,将路径D确定为副路径;在路径C和路径D是相同路径时,将路径C或D确定为副路径。
其中,该第一阈值可以设置为接收端允许的最大延时TD,该第二阈值设置为其中,n1是该第一路径(或第三路径)的跳数,n2是第二路径(或第四路径)的跳数,ri1是该第一路径(或第三路径)的第i条链路的传输速率,ri2是该第二路径(或第四路径)的第i条链路的传输速率,τ是每条链路的包处理时间,但本实施例并不以此作为限制。
由上述实施例可知,基于两种类型的网络参数,即第一网络参数和第二网络参数确定用于源节点和目的节点间通信的主路径和副路径,从而提高网络性能。
实施例2
本实施例2提供一种路由确定方法,用于确定主路径的备用路径,在该主路径节点发生故障时使用备用路径。
图2是本发明实施例2的路由确定方法流程图。如图2所示,该方法包括:
步骤201,根据预设准则为主路径上各节点确定绕过该节点的邻居节点的备用路径;
其中,该预定准则为该备用路径绕过该主路径上的节点个数不超过第三阈值和/或该备用路径上的节点个数不超过第四阈值,上述第三阈值和第四阈值可以同时满足也可以仅满足一个,本实施例并不以此作为限制,该第三阈值和第四阈值可以根据实际需要确定。
在本实施例中,在该预定准则为该备用路径绕过该主路径上的节点个数不超过第三阈值或该备用路径上的节点个数不超过第四阈值时,可以使主路径与备用路径上的节点尽量一致,从而保证备用路径的性能也较优,从而在该节点的邻居节点发生故障时,保证数据的正常传输。
在本实施例中,针对主路径上的每个节点,建立该节点绕过主路径上邻居节点的备用路径,其中,该备用路径包括从该源节点至目的节点方向的前向备用路径和从该目的节点至源节点方向的反向备用路径,该前向备用路径和反向备用路径均满足上述预定准则。
由本实施例的上述方法可知,通过确定主路径上各节点的备用路径,能够有效的应对主路径失效的问题,并且根据上述准则确定的备用路径性能也较优。
需要说明的是,实施例1中的确定主路径和副路径的方法和实施例2中确定备用路径的方法可以单独使用,也可以组合使用,例如在使用实施例1中的方法确定主路径后,可以使用实施例2中的方法确定已确定的主路径上各节点的备用路径;或者也可以采用其他任意的方法确定主路径,仅使用实施例2中的方法确定主路径上的备用路径;或者也可以仅采用实施例1中的方法确定主路径和副路径,不需要确定备用路 径或采用其他任意方法确定备用路径,本实施例并不以此作为限制。
实施例3
在本实施例中,将结合实际网络,以源节点发起主、副路径的发现过程,目的节点确定主路径、副路径以及针对主路径上的各个节点确定备用路径为例来说明路由确定方法,但该实例仅仅是一个示例,本实施例并不以此作为限制。
在本实施例,源节点向其邻居节点广播包含源节点ID、目的节点ID、跳数值的请求消息,收到该请求消息的中间节点如果能够提供目的节点到源节点的有效路径,则沿着记录的路径向目的节点返回完整的路径,否则转发该请求消息至目的节点,当目的节点收到该请求消息或中间节点提供的完整路由后,可以采用实施例1中的方法确定主、副路径,并在确定主、副路径后沿着主、副路径发送包含主、副路径路由表的应答消息,通知路径上所有节点主、副路径路由表,源节点收到该应答消息之后就可以通过主、副路径向目的节点发送数据。
以下参照附图分别说明源节点、中间节点、目的节点的工作流程。
图3是本实施例中源节点工作方法流程图;如图3所示,该方法包括:
步骤301:广播建立路径的请求消息RREQ_1;
其中,该RREQ_1中包含源节点ID、目的节点ID和跳数值等;
步骤302:判断收到的消息是针对RREQ_1的应答消息RREP_1还是请求消息RREQ_1,如果是该RREP_1则执行步骤303;否则执行步骤304;
其中,该RREP_1中包含从源节点到目的节点之间的主、副路径信息,例如可以通过主副路径路由表表示。
步骤303:记录该RREP_1中的路径,结束操作;
步骤304,丢弃该消息,结束操作。
图4是本实施例中中间节点工作方法流程图;如图4所示,该方法包括:
步骤401:接收路径建立消息;
例如该消息可以是建立路径的请求消息RREQ_1或针对该请求消息的应答消息RREP_1;
步骤402:判断接收到的路径建立消息是RREQ_1还是RREP_1,如果是RREQ_1则执行步骤403;否则执行步骤406;
步骤403:判断本地是否记录了从该中间节点到目的节点的路径,如果是则执行步骤404;否则执行步骤405;
步骤404:更新从源节点到目的节点的路径,并向目的节点发送从源节点到目的节点的完整路径,结束操作;
步骤405:将自身ID加入RREQ_1,同时将跳数值加一,然后转发RREQ_1到邻居节点,结束操作;其中,该RREQ_1中包含源节点ID、目的节点ID和跳数值、以及参与转发RREQ_1的中间节点ID等;
步骤406:沿确定后的主副路径向源节点转发RREP_1,结束操作。
其中,该RREP_1中包含从源节点到目的节点之间的主、副路径信息,例如可以通过主副路径路由表表示。
图5是本实施例中目的地节点工作方法流程图;如图5所示,该方法包括:
步骤501:从源节点/中间节点接收并记录所有从源节点至目的节点的完整路径的路由信息;
例如,可以通过路由表表示从源节点至目的节点的完整路径的路由信息;
步骤502:选择第一路径和第二路径,其中选择该第一路径和第二路径的方法与实施例1中步骤101相同,此处不再赘述;
步骤503:判断该第一路径和第二路径是否为同一路径,如果是则执行步骤504;否则执行步骤505;
步骤504:将该第一路径或第二路径设定为主路径,执行步骤508;
步骤505:判断该第一路径的第二网络参数和第二路径的第二网络参数之差是否小于第一阈值,如果是则执行步骤506;否则执行步骤507;
步骤506:将该第一路径确定为主路径,将该第二路径确定为副路径,执行步骤509;
步骤507:将该第二路径确定为主路径,将该第一路径确定为副路径,执行步骤509;
步骤508:选择第三路径和第四路径,其中选择该第三路径和第四路径的方法与实施例1中步骤101相同,此处不再赘述;并采用实施例1中步骤103中的方法确定副路径,执行步骤509;
步骤509:将主、副路径信息沿主、副路径发送到路径上各节点,结束操作;
其中,通过RREP_1发送上述主、副路径信息,可以通过路由表表示上述主、副路径信息。
需要说明的是,以上仅以由目的节点执行确定主副路径的动作为例进行说明,但本实施例并不以此作为限制,该确定主、副路径的动作也可以由源节点或中间节点执行,也可由源节点、中间节点和目的节点以外的其他处理设备来完成,待其他处理设备确定主副路径后,将主、副路径信息沿主、副路径发送到路径上各节点。
以下示例性的说明如何确定备用路径,在确定备用路径时的预定准则设置为该备用路径绕过该主路径上的节点个数不超过第三阈值和/或该备用路径上的节点个数不超过第四阈值。
在本实施例中,主路径上的各个节点向其邻居节点广播包含本地ID、该节点在由目的节点到源节点方向上递增的主路径跳数(M_Hop)值、以及转发次数的备用路径建立请求消息;非主路径上的节点收到该请求消息后,判断该转发次数是否超过第四阈值N,如果未超出,则将自身ID加入请求消息,同时将转发次数值加一,然后转发请求消息;如果超出阈值,则丢弃该消息;主路径上节点收到请求消息之后,判断是否是可接受范围(主路径上第三阈值L跳内节点)内的主路径节点发起的备用路径建立请求,如果是则回复加入自身ID的应答消息;如果不是则丢弃该消息;发起备用路径请求的节点在收到应答消息后,根据本地M_Hop值和发送应答消息的节点对应的M_Hop值的大小,建立前向或反向备用路径。
以下分别说明主路径上请求建立备用路径的节点i、主路径上应答备用路径建立请求的节点j以及非主路径上节点的工作流程。
图6是本实施例中主路径上请求建立备用路径的节点i工作方法流程图;如图6所示,该方法包括:
步骤601:发送建立备用路径的请求消息RREQ_2;
该RREQ_2包括本地ID、M_Hop、以及转发次数等;
步骤602:接收到该请求消息RREQ_2对应的应答消息RREP_2;
其中该RREP_2包括主路径上应答备用路径的节点ID、RREQ_2中记录的从节点i到节点j的路径,节点j的M_Hop值;
步骤603:判断其自身是否是RREP_2中指向的目的节点,如果是则执行步骤604;否则执行步骤607;
步骤604:比较本地M_Hopi值是否小于发送RREP_2的节点对应的M_Hopj值,如果是则执行步骤605;否则执行步骤606;
步骤605:得到前向备用路径;
步骤606:得到反向备用路径;
步骤607:丢弃该消息。
图7是本实施例中主路径上请求应答备用路径的节点j工作方法流程图;如图7所示,该方法包括:
步骤701:接收RREQ_2;
该RREQ_2包括备用建立路径请求节点ID、M_Hopi、以及转发次数、非主路径上转发RREQ_2的节点ID等;
步骤702:判断与RREQ_2中的M_Hopi值和本地M_Hopj值是否满足1<|M_Hopi-M_Hopj|<L(即该备用路径绕过该主路径上的节点个数不超过第三阈值L),如果是则执行步骤703;否则执行步骤704;
步骤703:记录从节点i到节点j的路径,然后沿该路径向节点i回复RREP_2,结束操作;
步骤704:丢弃该消息。
图8是本实施例中非主路径上节点工作方法流程图;如图8所示,该方法包括:
步骤801:接收邻居节点发送的消息;
步骤802:判断该消息是RREQ_2还是RREP_2,如果是RREQ_2,则执行步骤803;否则执行步骤805;
其中,该RREQ_2中包括备用建立路径请求节点ID、M_Hopi、以及转发次数、非主路径上转发RREQ_2的节点ID等;该RREP_2包括主路径上应答备用路径的节点ID;
步骤803:判断转发次数值是否超出第四阈值N,如果是则执行步骤807;否则执行步骤804;
步骤804:将自身ID加入RREQ_2,同时将转发次数值加一,然后转发RREQ_2;
其中,该RREQ_2中包括备用建立路径请求节点ID、M_Hopi、以及加一后的转发次数、参与非主路径上转发RREQ_2的节点ID等;
步骤805:判断其自身是否为RREP_2中记录的路径中的节点,如果是则执行步 骤806;否则执行步骤807;
步骤806:转发RREP_2;
步骤807,丢弃该消息。
图9是本实施例中确定的备用路径示意图,如图9所示,在确定节点5的备用路径时,节点5向其邻居节点广播包含本地ID、M_Hop、转发次数的RREQ_2消息,该转发次数的初始值为1,其中主路径上各节点之间M_Hop的差表示备用路径绕过该主路径上的节点个数,该转发次数表示备用路径上的节点个数,为便于说明,在该例子中第三阈值L和第四阈值N设为3。
在确定前向备用路径5→8→7时,非主路径上节点8收到节点5发送的RREQ_2后,首先判断出消息中的转发次数值未超出第四阈值N=3,转发该RREQ_2到节点7,节点7收到RREQ_2后首先检查路径请求节点5的M_Hop5和本地M_Hop7的差值符合1<|M_Hopi-M_Hopj|<L,且消息中的转发次数值未超出第四阈值N=3,则沿RREQ_2记录的路径发送RREP_2到节点5,由于M_Hop5<M_Hop7,所以建立的备用路径为前向备用路径;确定反向备用路径5→9→10→2的过程与前向备用路径的过程相同,由于M_Hop5>M_Hop2,所以建立的路径为反向备用路径。
另外路径5→9→10→1,5→11→12→13→2并未被确定为备用路径,理由如下:节点1收到由节点10转发的RREQ_2后,判断请求节点5的M_Hop5和本地M_Hop1的差值为4,超过第四阈值3,所以丢弃该RREQ_2,不再转发,路径发现不成功;节点2收到由节点13转发的RREQ_2后,判断节点5的M_Hop5和本地M_Hop2的差值未超过第四阈值3,但RREQ_2中的转发次数值超出第三阈值3,所以丢弃该RREQ_2,不再转发,路径发现不成功。
由上述实施例可知,基于两种类型的网络参数,即第一网络参数和第二网络参数确定用于源节点和目的节点间通信的主路径和副路径,从而提高网络性能;通过确定备用路径,能够有效的应对主路径失效的问题。
实施例4
本实施例4还提供了一种路由确定装置,由于该装置解决问题的原理与实施例1的方法类似,因此其具体的实施可以参照实施例1的方法的实施,重复之处不再赘述。
图10是本实施例中路由确定装置一实施方式构成示意图,该装置1000包括:
第一选择单元1001,其用于从源节点至目的节点之间的多条路径中选择第一路径和第二路径,其中该第一路径的第一网络参数优于或等于该第二路径的第一网络参数,该第二路径的第二网络参数优于或等于该第一路径的第二网络参数;
第一确定单元1002,其用于在该第一选择单元1001选择的第一路径和第二路径不同,且该第一路径的第二网络参数与该第二路径的第二网络参数之间的关系满足第一预定条件时,将该第一路径确定为主路径,将该第二路径确定为副路径;或者在该第一选择单元1001选择的第一路径和第二路径不同,且该第二路径的第一网络参数与该第一路径的第一网络参数满足之间的关系第二预定条件时,将该第二路径确定为主路径,将该第一路径确定为副路径。
由上述实施例可知,基于两种类型的网络参数,即第一网络参数和第二网络参数确定用于源节点和目的节点间通信的主路径和副路径,从而提高网络性能。
在本实施例中,该装置还可以包括:
第一判断单元(未图示),其用于判断该第一选择单元1001选择出的第一路径和第二路径是否是同一路径;
第二判断单元(未图示),其用于在判断该第一路径的第二网络参数与该第二路径的第二网络参数之间的关系是否满足第一预定条件;或者用于判断该第二路径的第一网络参数与该第一路径的第一网络参数之间的关系是否满足第二预定条件。
图11是本实施例中路由确定装置另一构成示意图,该装置1100包括:第一选择单元1101、第一确定单元1102,其实施方式与第一选择单元1001、第一确定单元1002相同,此处不再赘述。
在本实施例中,在该第一路径和该第二路径为同一路径时,该第一确定单元1102将该第一路径或者该第二路径确定为主路径。
在该实施方式中,该装置还包括:
第二选择单元1103,其用于从该多条路径中选择除该第一路径和第二路径以外的第三路径和第四路径,其中该第三路径的第一网络参数优于或等于该第四路径的第一网络参数,该第四路径的第二网络参数优于或等于该第三路径的第二网络参数;
第二确定单元1104,其用于在该第三路径和该第四路径为同一路径时,将该第三路径或第四路径确定为副路径;
在该第三路径和该第四路径不是同一路径,且该第三路径的第二网络参数与该第 四路径的第二网络参数之间的关系满足第一预定条件时,将该第三路径确定为副路径;或者在该第三路径和该第四路径不是同一路径,且该第四路径的第一网络参数与该第三路径的第一网络参数之间的关系满足第二预定条件时,将该第四路径确定为副路径。
在本实施例中,该装置还包括:
第三判断单元(未图示),其用于判断该第二选择单元1103选择出的第三路径和第四路径是否是同一路径;
第四判断单元(未图示),其用于判断该第三路径的第二网络参数与该第四路径的第二网络参数之间的关系是否满足第一预定条件;或者用于判断该第四路径的第一网络参数与该第三路径的第一网络参数之间的关系是否满足第二预定条件;
在本实施例中,该第一预定条件和第二预定条件的具体实施方式请参考实施例1,此处不再重复。
在本实施例中,该第一网络参数和第二网络参数的具体实施方式请参考实施例1,此处不再重复。
其中,在该第一网络参数为跳数,该第二网络参数为响应时间时,该第一阈值为接收端允许的最大延时TD,该第二阈值设置为其中,n1是该第一路径的跳数,n2是该第二路径的跳数,ri1是该第一路径的第i条链路的传输速率,ri2是该第二路径的第i条链路的传输速率,τ是每条链路的包处理时间,其中,跳数越小表示该第一网络参数越优,响应时间越短表示该第二网络参数越优。
图12是本发明实施例路由确定装置的硬件构成示意图,如图12所示,装置1200可以包括:一个接口(图中未示出),中央处理器(CPU)1220和存储器1210;存储器1210耦合到中央处理器1220。其中存储器1210可存储各种数据;此外还存储路由确定的程序,并且在中央处理器1220的控制下执行该程序,并存储各种阈值等。
在一个实施方式中,路由确定装置的功能可以被集成到中央处理器1220中。其中,中央处理器1220可以被配置为:从源节点至目的节点之间的多条路径中选择第一路径和第二路径,其中该第一路径的第一网络参数优于或等于该第二路径的第一网络参数,该第二路径的第二网络参数优于或等于该第一路径的第二网络参数;在该第一路径和该第二路径不同,且在该第一路径的第二网络参数与该第二路径的第二网络 参数之间的关系满足第一预定条件时,将该第一路径确定为主路径,将该第二路径确定为副路径;或者在该第一路径和该第二路径不同,且在该第二路径的第一网络参数与该第一路径的第一网络参数之间的关系满足第二预定条件时,将该第二路径确定为主路径,将该第一路径确定为副路径。
其中,中央处理器1220还可以被配置为:在第一路径和该第二路径为同一路径时,将该第一路径或者该第二路径确定为主路径。
其中,中央处理器1220还可以被配置为:从该多条路径中选择除该第一路径和第二路径以外的第三路径和第四路径,其中该第三路径的第一网络参数优于或等于该第四路径的第一网络参数,该第四路径的第二网络参数优于或等于该第三路径的第二网络参数;在第三路径和第四路径不是同一路径,且该第三路径的第二网络参数与该第四路径的第二网络参数满足之间的参数第一预定条件,将该第三路径确定为副路径;或者在第三路径和第四路径不是同一路径,且该第四路径的第一网络参数与该第三路径的第一网络参数之间的关系满足第二预定条件,将该第四路径确定为副路径;在该第三路径和该第四路径为同一路径时,将该第三路径或第四路径确定为副路径。
其中,该第一预定条件是两条路径的第二网络参数之差小于第一阈值;或者该第二预定条件是两条路径的第一网络参数之差小于第二阈值。
其中,在该第一网络参数为跳数,该第二网络参数为响应时间时,该第一阈值为接收端允许的最大延时TD,该第二阈值设置为其中,n1是该第一路径的跳数,n2是该第二路径的跳数,ri1是该第一路径的第i条链路的传输速率,ri2是该第二路径的第i条链路的传输速率,τ是每条链路的包处理时间,其中,跳数越小表示该第一网络参数越优,响应时间越短表示该第二网络参数越优。
在另一个实施方式中,也可以将上述路由确定装置配置在与中央处理器1220连接的芯片(图中未示出)上,通过中央处理器1220的控制来实现路由确定装置的功能。
在本实施例中,该装置1200还可以包括:传感器1201、收发器1204和电源模块1205等;其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,节点1200也并不是必须要包括图12中所示的所有部件;此外,节点1200还可以包括图2中没有示出的部件,可以参考现有技术。
由上述实施例可知,基于两种类型的网络参数,即第一网络参数和第二网络参数确定用于源节点和目的节点间通信的主路径和副路径,从而提高网络性能。
实施例5
本发明实施例5还提供了一种路由确定装置,由于该装置解决问题的原理与实施例2的方法类似,因此其具体的实施可以参照实施例2的方法的实施,重复之处不再赘述。
图13是本实施例中多径确定装置构成示意图,该装置1300包括:
第四确定单元1301,其用于根据预设准则为主路径上各节点确定绕过该节点的邻居节点的备用路径;
其中,该预定准则为该备用路径绕过该主路径上的节点个数不超过第三阈值和/或该备用路径上的节点个数不超过第四阈值。
在本实施例中,其中,该备用路径包括从源节点至该目的节点方向的前向备用路径和从目的节点至源节点方向的反向备用路径。
图14是本发明实施例路由确定装置的硬件构成示意图,如图14所示,装置1400可以包括:一个接口(图中未示出),中央处理器(CPU)1420和存储器1410;存储器1410耦合到中央处理器1420。其中存储器1410可存储各种数据;此外还存储路由确定的程序,并且在中央处理器1420的控制下执行该程序,并存储各种阈值等。
在一个实施方式中,路由确定装置的功能可以被集成到中央处理器1420中。其中,中央处理器1420可以被配置为:根据预设准则为主路径上各节点确定绕过该节点的邻居节点的备用路径;
其中,该预定准则为该备用路径绕过该主路径上的节点个数不超过第三阈值和/或该备用路径上的节点个数不超过第四阈值。
其中,该备用路径包括从该源节点至该目的节点方向的前向备用路径和从目的节点至源节点方向的反向备用路径。
在另一个实施方式中,也可以将上述路由确定装置的功能配置在与中央处理器1420连接的芯片(图中未示出)上,通过中央处理器1420的控制来实现路由确定装置的功能。
在本实施例中,该装置1400还可以包括:传感器1401、收发器1404和电源模 块1405等;其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,节点1400也并不是必须要包括图14中所示的所有部件;此外,节点1400还可以包括图2中没有示出的部件,可以参考现有技术。
由本实施例的上述方法可知,通过确定主路径上各节点的备用路径,能够有效的应对主路径失效的问题,并且根据上述准则确定的备用路径性能也较优。
需要说明的是,实施例1中的确定主路径和副路径的方法和实施例2中确定备用路径的方法可以单独使用,也可以组合使用,例如在使用实施例1中的方法确定主路径后,可以使用实施例2中的方法确定已确定的主路径上各节点的备用路径;或者也可以采用其他任意的方法确定主路径,仅使用实施例2中的方法确定主路径上的备用路径;或者也可以仅采用实施例1中的方法确定主路径和副路径,不需要确定备用路径或采用其他任意方法确定备用路径,本实施例并不以此作为限制。
本发明实施例还提供一种计算机可读程序,其中当在路由确定装置中执行该程序时,该程序使得计算机在该节点中执行如上面实施例1或2所述的路由确定方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中该计算机可读程序使得计算机在路由确定装置中执行上面实施例1或2所述的路由确定方法。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
应当理解,本发明的各部分可以用硬件、软件、固件或者它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可以用本领域共知的下列技术中的任一项或者他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
关于包括以上多个实施例的实施方式,还公开下述的附记。
附记1、一种路由确定装置,其中,所述装置包括:
第一选择单元,其用于从源节点至目的节点之间的多条路径中选择第一路径和第二路径,其中所述第一路径的第一网络参数优于或等于所述第二路径的第一网络参数,所述第二路径的第二网络参数优于或等于所述第一路径的第二网络参数;
第一确定单元,其用于在选择的所述第一路径和第二路径不同、且所述第一路径的第二网络参数与所述第二路径的第二网络参数之间的关系满足第一预定条件时,将所述第一路径确定为主路径,将所述第二路径确定为副路径;或者在选择的所述第一路径和第二路径不同、且所述第二路径的第一网络参数与所述第一路径的第一网络参数之间的关系满足第二预定条件时,将所述第二路径确定为主路径,将所述第一路径确定为副路径。
附记2、根据附记1所述的装置,其中,在所述第一选择单元选择的所述第一路径和所述第二路径为同一路径时,所述第一确定单元将所述第一路径或者所述第二路径确定为主路径。
附记3、根据附记2所述的装置,其中,所述装置还包括:
第二选择单元,其用于从所述多条路径中选择除所述第一路径和所述第二路径以外的第三路径和第四路径,其中所述第三路径的第一网络参数优于或等于所述第四路径的第一网络参数,所述第四路径的第二网络参数优于或等于所述第三路径的第二网络参数;
第二确定单元,其用于在所述第三路径和所述第四路径为同一路径时,将所述第三路径或第四路径确定为副路径;
在所述第三路径和所述第四路径不是同一路径,且在所述第三路径的第二网络参数与所述第四路径的第二网络参数之间的关系满足所述第一预定条件时,将所述第三路径确定为副路径;或者在所述第三路径和所述第四路径不是同一路径,且在所述第四路径的第一网络参数与所述第三路径的第一网络参数之间的关系满足所述第二预定条件时,将所述第四路径确定为副路径。
附记4、根据附记1所述的装置,其中,所述第一预定条件是两条路径的第二网络参数之差小于第一阈值;或者所述第二预定条件是两条路径的第一网络参数之差小于第二阈值。
附记5、根据附记4所述的装置,其中,在所述第一网络参数为跳数,所述第二网络参数为响应时间时,所述第一阈值为接收端允许的最大延时TD,所述第二阈值设置为其中,n1是所述第一路径的跳数,n2是所述第二路径的跳数,ri1是所述第一路径的第i条链路的传输速率,ri2是所述第二路径的第i条链路的传输速率,τ是每条链路的包处理时间,其中,跳数越小表示所述第一网络参数越优,响应时间越短表示所述第二网络参数越优。
附记6、根据附记1所述的装置,其中,所述装置还包括:
第三确定单元,其用于根据预设准则为所述主路径上的各节点确定绕过所述节点的邻居节点的备用路径;
其中,所述预定准则为所述备用路径绕过所述主路径上的节点个数不超过第三阈值和/或所述备用路径上的节点个数不超过第四阈值。
附记7、根据附记6所述的装置,其中,所述备用路径包括从所述源节点至所述目的节点方向的前向备用路径和从所述目的节点至源节点方向的反向备用路径。
附记8、一种路由确定装置,其中,所述装置包括:
第四确定单元,其用于根据预设准则为主路径上各节点确定绕过所述节点的邻居节点的备用路径;
其中,所述预定准则为所述备用路径绕过所述主路径上的节点个数不超过第三阈值和/或所述备用路径上的节点个数不超过第四阈值。
附记9、根据附记8所述的装置,其中,所述备用路径包括从源节点至目的节点方向的前向备用路径和从目的节点至源节点方向的反向备用路径。
附记10、一种路由确定方法,其中,所述方法包括:
从源节点至目的节点之间的多条路径中选择第一路径和第二路径,其中所述第一路径的第一网络参数优于或等于所述第二路径的第一网络参数,所述第二路径的第二网络参数优于或等于所述第一路径的第二网络参数;
在所述第一路径和所述第二路径不同,且在所述第一路径的第二网络参数与所述第二路径的第二网络参数之间的关系满足第一预定条件时,将所述第一路径确定为主路径,将所述第二路径确定为副路径;
或者在所述第一路径和所述第二路径不同,且在所述第二路径的第一网络参数与 所述第一路径的第一网络参数之间的关系满足第二预定条件时,将所述第二路径确定为主路径,将所述第一路径确定为副路径。
附记11、根据附记10所述的方法,其中,在所选择的所述第一路径和所述第二路径为同一路径时,将所述第一路径或者所述第二路径确定为主路径。
附记12、根据附记11所述的方法,其中,所述方法还包括:
从所述多条路径中选择除所述第一路径和所述第二路径以外的第三路径和第四路径,其中所述第三路径的第一网络参数优于或等于所述第四路径的第一网络参数,所述第四路径的第二网络参数优于或等于所述第三路径的第二网络参数;
在所选择的所述第三路径和所述第四路径为同一路径时,将所述第三路径或第四路径确定为副路径;
在所选择的所述第三路径和所述第四路径不是同一路径,且在所述第三路径的第二网络参数与所述第四路径的第二网络参数之间的关系满足所述第一预定条件时,将所述第三路径确定为副路径;或者在所选择的所述第三路径和所述第四路径不是同一路径,且在所述第四路径的第一网络参数与所述第三路径的第一网络参数之间的关系满足所述第二预定条件时,将所述第四路径确定为副路径。
附记13、根据附记10所述的方法,其中,所述第一预定条件是两条路径的第二网络参数之差小于第一阈值;或者所述第二预定条件是两条路径的第一网络参数之差小于第二阈值。
附记14、根据附记13所述的方法,其中,在所述第一网络参数为跳数,所述第二网络参数为响应时间时,所述第一阈值为接收端允许的最大延时TD,所述第二阈值设置为其中,n1是所述第一路径的跳数,n2是所述第二路径的跳数,ri1是所述第一路径的第i条链路的传输速率,ri2是所述第二路径的第i条链路的传输速率,τ是每条链路的包处理时间,其中,跳数越小表示所述第一网络参数越优,响应时间越短表示所述第二网络参数越优。
附记15、根据附记10所述的方法,其中,所述方法还包括:
根据预设准则为所述主路径上的各节点确定绕过所述节点的邻居节点的备用路径;
其中,所述预定准则为所述备用路径绕过所述主路径上的节点个数不超过第三阈 值和/或所述备用路径上的节点个数不超过第四阈值。
附记16、根据附记6所述的方法,其中,所述备用路径包括从所述源节点至所述目的节点方向的前向备用路径和从所述目的节点至源节点方向的反向备用路径。
附记17、一种路由确定方法,其中,所述方法包括:
根据预设准则为主路径上各节点确定绕过所述节点的邻居节点的备用路径;
其中,所述预定准则为所述备用路径绕过所述主路径上的节点个数不超过第三阈值和/或所述备用路径上的节点个数不超过第四阈值。
附记18、根据附记17所述的方法,其中,所述备用路径包括从源节点至目的节点方向的前向备用路径和从目的节点至源节点方向的反向备用路径。