CN110932915B - 一种多模块拼装自动识别拓扑网络的方法 - Google Patents
一种多模块拼装自动识别拓扑网络的方法 Download PDFInfo
- Publication number
- CN110932915B CN110932915B CN201911311996.7A CN201911311996A CN110932915B CN 110932915 B CN110932915 B CN 110932915B CN 201911311996 A CN201911311996 A CN 201911311996A CN 110932915 B CN110932915 B CN 110932915B
- Authority
- CN
- China
- Prior art keywords
- module
- address
- modules
- information
- main
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种多模块拼装自动识别拓扑网络的方法,包括:除主模块外的其它所有模块在上电后,分别向所有端口发送地址请求信息;对于当前模块发出的地址请求信息,将其以逐级转发的方式上传到主模块,由主模块发出地址分配信息;地址分配信息以逐级转发的方式被下发到当前模块的上级模块,该上级模块向除了上级端口外的其他所有端口发送该地址分配信息;除当前模块外的其他所有模块在接收到地址分配信息后,均不作响应,当前模块接收到所述地址分配信息后确认自己的地址;主模块在给各个模块分配完地址以后,记录各模块间的连接关系,形成整个系统的拓扑结构描述。本发明可解决拓扑自动识别的问题;具有任意数量接口和快速识别的特点。
Description
技术领域
本发明涉及模块化搭建类产品应用技术领域,尤其涉及一种多模块拼装自动识别拓扑网络的方法。
背景技术
在模块化搭建类产品的应用中,需要系统自动识别拼接以后产品系统的形状和状态。在整个系统搭建好以后,需要实时增加或者减少模块的时候,系统需要快速的识别变化后的新系统的形状和状态。快速的识别系统中每个模块之间相互的连接关键就是一个非常重要的技术问题。
另外,每个模块有多少个连接点也是一个重要的技术参数,比如三角形可以三边连接,四边形可以四边连接,同样六边形能否六个边随意连接组合,甚至更多边形也是一个重要的技术难题;目前,现有技术中尚未出现可以解决多模块拼装系统的拓扑自动识别和多方向自由连接问题的技术方案。
发明内容
针对上述现有技术中存在的不足之处,本发明提供一种多模块拼装自动识别拓扑网络的方法,以解决多模块拼装系统的拓扑自动识别和多方向自由连接问题。所述多模块中包括一主模块,除所述主模块以外的其它所有模块在上电初始状态下均没有地址,每一模块分别通过自身的端口与周围模块进行连接并通信;所述多模块拼装自动识别拓扑网络的方法包括以下步骤:
除所述主模块以外的其它所有模块在上电以后,分别向其周围所有端口发送请求地址的地址请求信息;
对于当前模块发出的地址请求信息,将其以逐级转发的方式上传到所述主模块,由所述主模块发出地址分配信息,为所述当前模块分配地址;
所述地址分配信息以逐级转发的方式被下发到所述当前模块的上级模块,所述上级模块向除了其自身上级端口外的其他所有端口发送该地址分配信息;
除所述当前模块外的其他所有模块在接收到所述地址分配信息后,均不作响应,所述当前模块接收到所述地址分配信息后确认自己的地址;
所述主模块在给各个模块分配完地址以后,根据各模块连接的端口号,记录各模块之间的连接关系;从而形成整个系统的拓扑结构描述。
可选地,所述模块为多边形结构,所述模块的每一边上均设置有一端口。
进一步地,各模块向其周围所有端口发送请求地址的地址请求信息的方式为:除所述主模块以外的其它所有模块在上电以后,分别以广播的方式向其周围所有端口发送请求地址的地址请求信息,直到获取地址后停止发送。
进一步地,将地址请求信息以逐级转发的方式上传到所述主模块的过程包括:对于当前模块发出的地址请求信息,所述当前模块的周围还未分配到地址的模块不作响应,由已分配到地址的模块将其转发给自身的上一级模块;以此逐级转发,直到将当前模块发出的地址请求信息上传到所述主模块。
进一步地,各模块发送的地址请求信息中包括自身的身份标识。
进一步地,所述主模块根据地址请求信息中的身份标识,为相应模块分配地址,所述主模块发出的地址分配信息中包括相应模块的身份标识。
进一步地,各模块在接收到地址分配信息后,根据其中的身份标识确认接收到的地址分配信息是否属于自己;
若接收到的地址分配信息不属于自己,则不作响应,若接收到的地址分配信息属于自己,则根据地址分配信息确认自身地址。
进一步地,所述方法还包括:当多个模块属于同一级别且彼此之间存在相互连接关系时,处于同一级别的多个模块同时向周围所有端口发送地址请求信息;通过所述主模块分别为处于同一级别的各个模块分配地址。
进一步地,当处于同一级别的各个模块分配到地址后,处于同一级别的各个模块分别记录将地址分配信息转发给自己的模块为自身的上一级模块。
进一步地,在形成整个系统的拓扑结构描述后,所述方法还包括:
对于所述主模块发出的信息,通过逐级转发的方式将其在整个系统中不断的转发,直到所述主模块发出的信息到达相应模块后,停止转发;相应模块根据信息内容做相应的处理,以此完成所述主模块对每一个模块的控制。
本发明解决了多模块拼装系统的拓扑自动识别和多方向自由连接问题,且具有任意数量接口和快速识别的特点。从而使得模块拼接的智能玩具,设计更加灵活,用户在使用的时候更加方便,用户完全可以根据自己的想法搭建不同拓扑的系统;为产品设计者提供了更多选择,减小了这类玩具在设计过程中的限制;在DIY的系统中提供一种更加灵活和方便的软件设计方案。
附图说明
图1为本发明提供的多模块拼装自动识别拓扑网络的方法的流程示意图;
图2为本发明提供的以一个模块有6个端口为例的拓扑网络结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本实施例提供一种多模块拼装自动识别拓扑网络的方法,其中,多模块中包括一主模块,除主模块以外的其它所有模块在上电初始状态下均没有地址,每一模块分别通过自身的端口与周围模块进行连接并通信;各模块可以为多边形结构,每一模块的每一边上均设置有一端口。
该多模块拼装自动识别拓扑网络的方法包括以下步骤:
S101,除主模块以外的其它所有模块在上电以后,分别向其周围所有端口发送请求地址的地址请求信息;
其中,各模块向其周围所有端口发送请求地址的地址请求信息的方式为:除主模块以外的其它所有模块在上电以后,分别以广播的方式向其周围所有端口发送请求地址的地址请求信息,直到获取地址后停止发送。
S102,对于当前模块发出的地址请求信息,将其以逐级转发的方式上传到主模块,由主模块发出地址分配信息,为当前模块分配地址;
其中,将地址请求信息以逐级转发的方式上传到主模块的过程包括:对于当前模块发出的地址请求信息,当前模块的周围还未分配到地址的模块不作响应,由已分配到地址的模块将其转发给自身的上一级模块;以此逐级转发,直到将当前模块发出的地址请求信息上传到主模块。
此外,各模块发送的地址请求信息中还可以包括其自身的身份标识。主模块可以根据地址请求信息中的身份标识,为相应模块分配地址,且主模块发出的地址分配信息中还可以包括相应模块的身份标识。
S103,地址分配信息以逐级转发的方式被下发到当前模块的上级模块,上级模块向除了其自身上级端口外的其他所有端口发送该地址分配信息;
S104,除当前模块外的其他所有模块在接收到地址分配信息后,均不作响应,当前模块接收到地址分配信息后确认自己的地址;
各模块在接收到地址分配信息后,根据其中的身份标识确认接收到的地址分配信息是否属于自己;若接收到的地址分配信息不属于自己,则不作响应,若接收到的地址分配信息属于自己,则根据地址分配信息确认自身地址。
此外,当多个模块属于同一级别且彼此之间存在相互连接关系时,处于同一级别的多个模块同时向周围所有端口发送地址请求信息;通过主模块分别为处于同一级别的各个模块分配地址。
当处于同一级别的各个模块分配到地址后,处于同一级别的各个模块分别记录将地址分配信息转发给自己的模块为自身的上一级模块。
S105,主模块在给各个模块分配完地址以后,根据各模块连接的端口号,记录各模块之间的连接关系;从而形成整个系统的拓扑结构描述。
进一步地,在形成整个系统的拓扑结构描述后,本方法还可以包括:
对于主模块发出的信息,通过逐级转发的方式将其在整个系统中不断的转发,直到主模块发出的信息到达相应模块后,停止转发;相应模块根据信息内容做相应的处理,以此完成主模块对每一个模块的控制。
下面,以除主模块外其他每一模块均为六边形结构,每一模块的每一边均设有一个串行接口,负责与其他模块的接口进行通讯为例,对本实施例的方法作进一步说明,如图2所示,其中,“主”表示主模块,A~J表示单独的模块;1~6表示模块上面的串行接口的端口号,本实施例以一个模块有6个端口为例,当然端口可以少于6,也可以多于6。
实现步骤如下:
1、除主模块以外的模块在上电初始的状态下是没有地址的,因此每一个模块在没有地址的情况下,上电以后以一个固定的频率向所有端口发送地址请求信息,直到获得地址以后就停止发送;
2、主模块接收到模块A的地址请求信息,则给模块A分配地址,模块A获得地址以后就不再发送地址请求信息了;
3、模块B上电因为没有地址,因此采用广播的方式向所有端口发送请求地址的信息;模块C和模块D因为也没有地址,因此不做回应。模块A收到请求信息以后,向给自己分配地址的上一级模块,也即主模块转发请求地址信息。主模块收到模块A转发的带有模块B信息的地址请求信息以后,给模块B分配一个地址,然后返回给模块A,模块A会向除了上一级端口以外的所有端口发送主模块返回给模块B的分配地址信息。模块B收到返回的地址信息以后确认自己的地址;
4、模块C申请地址信息,同样向所有端口发送,模块F收到以后,因为模块F也没有地址,因此不处理。模块B已经获得地址,并且收到模块C的请求地址信息以后,将该信息转发给上级模块A,收到的地址请求信息,同样转发给模块A的上级主模块,主模块给模块C分配地址,发送给模块A,在发送给模块B,模块B同样采用向除了上一级端口以外的所有端口发送地址信息的方式,模块D虽然收到了模块B转发的地址分配信息,但是信息内容的地址不是模块D,因此模块D不处理该信息,而模块C收到模块B转发的地址信息以后确认信息是给自己的,则确认自己的地址;
5、同理模块D、模块E、模块F、模块G、模块J都可以获得自己的地址;
6、模块I与模块H处于同一级别,而且出现相互连接的情况;
7、模块I和模块H会同时向周围所有端口发送地址请求信息,模块I收到模块H的,模块H收到模块I的,但是他们都没有地址因此都不处理;模块E会收到模块H和模块I的地址申请信息,并且将申请信息分别向上一级模块转发,直到主模块,因为模块H和模块I分别来自模块E的不同端口,因此主模块分别给模块H和模块I分配地址。该地址信息跟以上提到的方法相同,逐级返回到模块E,模块E再将地址广播给模块H和模块I,模块H和模块I分别确认自己的地址。因为模块H和模块I是从模块E获得的地址信息,因此他们只会记录自己的上一级模块是模块E,模块H和模块I之间的连接在理论上是不存在的。
8、主模块在给各个模块分配地址以后,根据各模块连接的端口号,记录各个模块之间的连接关系;从而形成整个系统的拓扑结构描述;
9、依据同样的方法,系统的拓扑理论上是可以无限扩大的。
10、最终在主模块中就形成了一个完整的系统拓扑图形;
11、所有模块获得地址以后,对每一个模块的控制,可以通过主模块向所有端口发送信息的方式在系统中不断的转发。也就是说系统中的所有模块在收到上一级发送的信息以后,如果信息地址中是自己的地址,则根据信息内容做相应的处理,否则就向除上一级以外的所有端口转发信息;
综上可知,本实施例的方法采用以每一个模块自我为中心,向周围所有的端口查询的方式,发起最开始的识别过程,以此解决即插即用的问题。其中,在各模块向所有端口申请地址的过程中,没有设置端口数量的参数,也就是说模块并不区分连接端口的数量。也就建立了模块与模块之间的层级关系;通过不同层级模块连接的端口可以确定模块与模块之间的连接位置;在整个过程中,拓扑的识别只与端口连接位置和层级关系有关。
此外,本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明实施例可采用结合软件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上仅为本发明优选实施例而已,并不用于限制本发明,对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种多模块拼装自动识别拓扑网络的方法,其特征在于,所述多模块中包括一主模块,除所述主模块以外的其它所有模块在上电初始状态下均没有地址,每一模块分别通过自身的端口与周围模块进行连接并通信;
所述多模块拼装自动识别拓扑网络的方法包括以下步骤:
除所述主模块以外的其它所有模块在上电以后,分别以广播的方式向其周围所有端口发送请求地址的地址请求信息,直到获取地址后停止发送;
对于当前模块发出的地址请求信息,所述当前模块的周围还未分配到地址的模块不作响应,由已分配到地址的模块将其转发给自身的上一级模块;以此逐级转发,直到将当前模块发出的地址请求信息上传到所述主模块,由所述主模块发出地址分配信息,为所述当前模块分配地址;
所述地址分配信息以逐级转发的方式被下发到所述当前模块的上级模块,所述上级模块向除了其自身上级端口外的其他所有端口发送该地址分配信息;
除所述当前模块外的其他所有模块在接收到所述地址分配信息后,均不作响应,所述当前模块接收到所述地址分配信息后确认自己的地址;
所述主模块在给各个模块分配完地址以后,根据各模块连接的端口号,记录各模块之间的连接关系;从而形成整个系统的拓扑结构描述。
2.如权利要求1所述的多模块拼装自动识别拓扑网络的方法,其特征在于,所述模块为多边形结构,所述模块的每一边上均设置有一端口。
3.如权利要求1所述的多模块拼装自动识别拓扑网络的方法,其特征在于,各模块发送的地址请求信息中包括自身的身份标识。
4.如权利要求3所述的多模块拼装自动识别拓扑网络的方法,其特征在于,所述主模块根据地址请求信息中的身份标识,为相应模块分配地址,所述主模块发出的地址分配信息中包括相应模块的身份标识。
5.如权利要求4所述的多模块拼装自动识别拓扑网络的方法,其特征在于,各模块在接收到地址分配信息后,根据其中的身份标识确认接收到的地址分配信息是否属于自己,若接收到的地址分配信息不属于自己,则不作响应,若接收到的地址分配信息属于自己,则根据地址分配信息确认自身地址。
6.如权利要求1所述的多模块拼装自动识别拓扑网络的方法,其特征在于,所述方法还包括:当多个模块属于同一级别且彼此之间存在相互连接关系时,处于同一级别的多个模块同时向周围所有端口发送地址请求信息;通过所述主模块分别为处于同一级别的各个模块分配地址。
7.如权利要求6所述的多模块拼装自动识别拓扑网络的方法,其特征在于,当处于同一级别的各个模块分配到地址后,处于同一级别的各个模块分别记录将地址分配信息转发给自己的模块为自身的上一级模块。
8.如权利要求1-7任一项所述的多模块拼装自动识别拓扑网络的方法,其特征在于,在形成整个系统的拓扑结构描述后,所述方法还包括:
对于所述主模块发出的信息,通过逐级转发的方式将其在整个系统中不断的转发,直到所述主模块发出的信息到达相应模块后,停止转发;相应模块根据信息内容做相应的处理,以此完成所述主模块对每一个模块的控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911311996.7A CN110932915B (zh) | 2019-12-18 | 2019-12-18 | 一种多模块拼装自动识别拓扑网络的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911311996.7A CN110932915B (zh) | 2019-12-18 | 2019-12-18 | 一种多模块拼装自动识别拓扑网络的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110932915A CN110932915A (zh) | 2020-03-27 |
CN110932915B true CN110932915B (zh) | 2022-07-12 |
Family
ID=69864348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911311996.7A Active CN110932915B (zh) | 2019-12-18 | 2019-12-18 | 一种多模块拼装自动识别拓扑网络的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110932915B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974475A (en) * | 1997-06-24 | 1999-10-26 | Microchip Technology Incorporated | Method for flexible multiple access on a serial bus by a plurality of boards |
JP2016091512A (ja) * | 2014-11-11 | 2016-05-23 | ルネサスエレクトロニクス株式会社 | 接続関係検出システム、情報処理装置、及び接続関係検出方法 |
TW201737103A (zh) * | 2015-12-31 | 2017-10-16 | 模組化智慧穿戴公司 | 模組化通訊架構 |
CN109605345B (zh) * | 2018-12-20 | 2020-07-07 | 清华大学 | 一种模块化机器人结构感知方法 |
-
2019
- 2019-12-18 CN CN201911311996.7A patent/CN110932915B/zh active Active
Non-Patent Citations (2)
Title |
---|
基于IPLink-2164构建机器人群通信网络;高洁等;《兵工自动化》;20090915(第09期);全文 * |
模块化机器人的构型拓扑方法研究;王晓帆等;《组合机床与自动化加工技术》;20180620(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110932915A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5145360B2 (ja) | 無線個人通信ネットワークでの効率的な住所割り当て方法及び無線近距離個人通信機器 | |
CN102035828B (zh) | 使用家庭通信网络中的节点的方法 | |
CN101788890B (zh) | 在一储存系统架构下产生一虚拟卷的方法及数据存取方法 | |
CN108521656B (zh) | 一种Lora通信方法及系统 | |
CN109905164B (zh) | 集群范围内无人机的通信与数据回传方法 | |
CN102223651B (zh) | 一种协助基站自启动的方法及rnc/dhcp服务器 | |
CN103532741A (zh) | 一种接入级网络拓扑管理方法与系统 | |
CN102387222B (zh) | 地址分配方法、装置及系统 | |
RU2010121231A (ru) | Назначение временного идентификатора абонентского оборудования ретрансляционным узлом, управляемым базовой станцией | |
CN110069210B (zh) | 一种存储系统、存储资源的分配方法及装置 | |
CN107682871B (zh) | 无线传感器网络中继节点部署优化方法及无线传感器网络 | |
CN109412875B (zh) | zookeeper集群自动维护方法及装置 | |
CN101241365A (zh) | 自动识别建筑物管理系统与设备之间连接的方法和装置 | |
CN105704042A (zh) | 报文处理方法、bng及bng集群系统 | |
CN105610996A (zh) | 一种应用于交换机的dhcp冲突检测方法和装置 | |
KR100659614B1 (ko) | 클러스터-트리 구조로 연결된 이후에 어드레스를 할당하는지그비 네트워크 디바이스, 그 어드레스 할당 방법, 및,라우팅 방법 | |
CN105162897A (zh) | 一种虚拟机ip地址分配的系统、方法及网络虚拟机 | |
CN103701631A (zh) | 应用于堆叠系统中的堆叠配置自动部署方法和设备 | |
CN103945015A (zh) | 一种节点逻辑id的分配装置、方法及通信系统 | |
CN110932915B (zh) | 一种多模块拼装自动识别拓扑网络的方法 | |
CN107205059A (zh) | 管理表计设备地址的方法、采集终端和表计设备 | |
KR100910799B1 (ko) | 센서 네트워크의 클러스터링 토폴로지 형성 방법 및 그시스템 | |
CN103260196B (zh) | 一种传输带宽的控制方法、装置及系统 | |
CN106162781A (zh) | 路由节点的切换方法、装置和无线传感器网络 | |
WO2009059476A1 (fr) | Procédé pour distribuer le numéro de dispositif dans un système d'empilage |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |