1.一种小节点群动态转发混合路由方法,包括:
随机部署模拟网络结构中的若干个水下节点,使每个所述水下节点进行节点发现以建立节点组;其中,所述节点组包括主节点、副节点和普通节点;每个所述水下节点都能够产生数据包,所述数据包以所述模拟网络结构中的宿节点为目的地址;
基于所述节点组,在所有所述水下节点间进行所述数据包的接收和转发;
其中,当存在与所述宿节点的通信路径时,所述主节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述主节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所述水下节点;
所述副节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节点组内的所述主节点;
所述普通节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节点组内的所述主节点。
2.根据权利要求1所述的路由方法,其中,使每个所述水下节点进行节点发现以建立节点组之后,部分所述水下节点成为未成组节点;
当存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所述水下节点。
3.根据权利要求1所述的路由方法,其中,在所述数据包的接收和转发过程中,响应于确定定时检查发现所述节点组内的所述水下节点间的通信路径断开,由该所述节点组内的所述副节点重新进行所述节点发现并建立新的所述节点组。
4.根据权利要求3所述的路由方法,其中,所述定时检查,包括:
所述主节点成功建立所述节点组后,设置分组检查等待时间,分组检查等待时间结束后,对所述节点组进行所述定时检查;
为待检查的所述节点组设定观察时间,响应于确定所述主节点在观察时间内接收到来自待检查的所述节点组内的其他所述水下节点转发的所述数据包,确认所述节点组存在;
否则由所述主节点向待检查的所述水下节点主动发送分组存在检查包并设定等待时间,在所述等待时间结束前收到待检查的所述水下节点回复的分组存在确认包则认为所述节点组存在;
否则,判断所述节点组内的所述主节点其余所述水下节点间不存在通信路径,即所述节点组不存在;此时需重新建立所述节点组,由原所述节点组的所述副节点进行所述节点发现并建立新的所述节点组。
5.根据权利要求2所述的路由方法,其中,所述每个所述水下节点进行节点发现以建立节点组,包括:
根据每个所述水下节点与所述宿节点间的距离为每个所述水下节点设定延时等待时间,所述水下节点与所述宿节点间的距离越长,所述延时等待时间越长;
每个所述水下节点的所述延时等待时间结束后,该所述水下节点以所述主节点的身份向其通信范围内所有所述水下节点发送节点发现包,接收到所述节点发现包的所述水下节点向所述主节点回复节点存在包;
所述主节点根据接收到的所述节点存在包选择所述水下节点建立所述节点组,向选择出的所述水下节点发送角色通知包,接收到所述角色通知包的所述水下节点以副节点或普通节点的身份加入该所述节点组。
6.根据权利要求5所述的路由方法,其中,所述每个所述水下节点进行节点发现以建立节点组,还包括:
所述宿节点接收到所述节点发现包时,回复所述水下节点所述节点存在包表明所述水下节点和所述宿节点间存在直接通信路径;
所述水下节点发送所述节点发现包时,设置成组等待时间,成组等待时间结束后还未接收到所述节点存在包,该所述水下节点返回等待进行所述节点发现的初始状态,即未成组状态;
所述水下节点在所述成组等待时间内接收到所述节点存在包,为发出所述节点存在包的所述水下节点设置角色通知时间;发出所述节点存在包的所述水下节点在所述角色通知时间结束后还未收到所述角色通知包,返回所述未成组状态,成为所述未成组节点;
进一步的,所述水下节点加入一个所述节点组后,不会回复或响应其他所述水下节点发送的所述节点发现包或角色通知包。
7.根据权利要求2所述的路由方法,其中,所述在所有所述水下节点间进行数据包的接收和转发,还包括:
任意一个所述水下节点接收到其他所述水下节点转发的所述数据包时,若已经处理过该所述数据包,丢弃该所述数据包;
所述宿节点接收到所述数据包时,向上层路由进行交付。
8.一种小节点群动态转发混合路由装置,包括:
节点组建立模块,随机部署模拟网络结构中的若干个水下节点,每个所述水下节点进行节点发现以建立节点组;其中,所述节点组包括主节点、副节点和普通节点;
数据包传输模块,基于所述节点组,在所有所述水下节点间进行所述数据包的接收和转发;其中,当存在与所述宿节点的通信路径时,所述主节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述主节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所述水下节点;所述副节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节点组内的所述主节点;所述普通节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节点组内的所述主节点。
9.根据权利要求8所述的小节点群动态转发混合路由装置,使每个所述水下节点进行节点发现以建立节点组之后,部分所述水下节点成为未成组节点;
当存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所述水下节点。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1至7中任意一项所述的方法。