一种单向串行总线网络的通信方法、装置及系统的利记博彩app

文档序号:10597101阅读:458来源:国知局
一种单向串行总线网络的通信方法、装置及系统的利记博彩app
【专利摘要】本发明提供一种单向串行总线网络的通信方法、装置及系统,所述单向串行总线网络包括一级设备、至少一个二级设备、至少一个三级设备;其中,所述一级设备通过单向串行总线与至少一个二级设备构成单向环网,每个二级设备分别通过单向串行总线与至少一个三级设备构成单向环子网,包括:所述二级设备接收数据报文,所述数据报文中携带有节点信息;并根据所述节点信息确定所述数据报文的转发路径,并通过确定的转发路径转发所述数据报文。如此,本发明实施例能够解决单向串行总线网络中每个数据报文都将跑遍该单向串行总线网络中的所有节点设备的问题,从而避免了单向串行总线网络中无效数据报文的转发。
【专利说明】
一种单向串行总线网络的通信方法、装置及系统
技术领域
[0001] 本发明涉及通信技术领域,特别是涉及一种单向串行总线网络的通信方法、装置 及系统。
【背景技术】
[0002] 目前,RS485等单向串行总线应用于远程工业控制、远程智能抄仪表等系统;上述 系统通常以单向环网套接单向环网的方式构建单向串行总线网络,该单向串行总线网络通 常包括:集中器、至少一个采集器、智能仪表;其中,集中器通过单向串行总线与采集器构成 单向环网,该单向环网为该串行总线网络组成骨干网,每个采集器再分别通过单向串行总 线与若干智能仪表构成单向环子网。上述组网方式中,由于受到RS485单向串行总线的单向 限制,采集器及智能仪表仅支持接收透传工作模式,在该接收透传工作模式下对接收的数 据报文进行处理,同时将该数据报文传送到发送端口,由此可见,在接收透传工作模式下, 每个节点设备将接收的数据报文传送给中央处理器CHJ处理,同时直接透明转发,相当于单 向串行总线上每个节点设备都同时收到了相同的数据报文,因此,现有单向串行总线网络 中,单向环子网和骨干网不能隔离、阻断,该单向串行总线网络中的每个数据报文都将跑遍 该单向串行总线网络中的所有节点设备,无效转发较多,大量无效转发的数据报文占用了 大量的网络信道资源,从而极大地降低了网络资源的利用率。

【发明内容】

[0003] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种单向串行总线网络的 通信方法、装置及系统,能够避免了单向串行总线网络中无效数据报文的转发。
[0004] 为实现上述目的及其他相关目的,本发明实施例提供一种单向串行总线网络的通 信方法,所述单向串行总线网络包括一级设备、至少一个二级设备、至少一个三级设备;其 中,所述一级设备通过单向串行总线与至少一个二级设备构成单向环网,每个二级设备分 别通过单向串行总线与至少一个三级设备构成单向环子网,该方法包括:
[0005] 所述二级设备接收数据报文,所述数据报文中携带有节点信息;
[0006] 所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通过确定的转 发路径转发所述数据报文。
[0007] 优选地,所述二级设备上针对本地单向环子网存储有数据转发表,若所述节点信 息包括目的地址,相应的,所述数据转发表包括入端口、目的地址、与所述目的地址对应的 出端口;若所述节点信息包括目的设备身份标识ID,相应的,所述数据转发表包括入端口、 目的设备ID、与所述目的设备ID对应的出端口;
[0008] 所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通过确定的转 发路径转发所述数据报文,包括:
[0009] 所述二级设备确定所述目的地址是否为自身地址或者所述目的设备ID是否为自 身设备ID;
[0010] 若是,则处理所述数据报文并停止转发所述数据报文;否则,根据接收数据报文的 入端口、所述目的地址或所述目的设备ID查询所述数据转发表确定对应的出端口,并通过 对应的出端口转发所述数据报文。
[0011] 优选地,所述根据接收数据报文的入端口、所述目的地址或所述目的设备ID查询 所述数据转发表确定对应的出端口,并通过对应的出端口转发所述数据报文,包括:
[0012] 在所述数据转发表中所述入端口对应的目的地址中查询所述目的地址,或者,在 所述数据转发表中所述入端口对应的目的设备ID中查询所述目的设备ID;
[0013] 查询到所述目的地址或所述目的设备ID时,进一步查询所述目的地址或所述目的 设备ID对应的出端口;
[0014] 若所述入端口连接到所述单向环网,则当所述目的地址为广播地址或所述目的设 备ID为广播ID时,将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备 以及自身的下一跳二级设备;当所述目的地址为单播地址或所述目的设备ID为单播ID时, 将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备;
[0015] 若所述入端口连接到本地单向环子网,则当所述目的地址为广播地址或所述目的 设备ID为广播ID时,丢弃所述数据报文;
[0016]未查询到所述目的地址或目的设备ID时,将所述数据报文通过默认的出端口转发 给自身的下一跳二级设备。
[0017] 优选地,所述二级设备上针对本地单向环网存储有数据转发表,若所述节点信息 包括目的地址,相应的,所述数据转发表包括目的地址、与所述目的地址对应的出端口;若 所述节点信息包括目的设备身份标识ID,相应的,所述数据转发表包括目的设备ID、与所述 目的设备ID对应的出端口;
[0018] 所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通过确定的转 发路径转发所述数据报文,包括:
[0019] 所述二级设备确定所述目的地址是否为自身地址或者所述目的设备ID是否为自 身设备ID;
[0020] 若是,则处理所述数据报文并停止转发所述数据报文;否则,当所述目的地址为广 播地址或所述目的设备ID为广播ID时,确定接收数据报文的入端口是否连接到所述单向环 网;
[0021 ]若是,则将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备 以及自身的下一跳二级设备;否则丢弃所述数据报文;
[0022]当所述目的地址为单播地址或所述目的设备ID为单播ID时,根据所述目的地址或 目的设备ID查询所述数据转发表确定对应的出端口,并通过对应的出端口转发所述数据报 文。
[0023] 优选地,根据所述目的地址或目的设备ID查询所述数据转发表确定对应的出端 口,并通过对应的出端口转发所述数据报文,包括:
[0024] 若在所述数据转发表中查询到所述目的地址或所述目的设备ID,则将所述数据报 文通过对应的出端口转发给本地单向环子网内的三级设备;
[0025] 若在所述数据转发表中未查询到所述目的地址或所述目的设备ID,则将所述数据 报文通过默认的出端口转发给自身的下一跳二级设备。
[0026]优选地,所述方法还包括:
[0027]所述二级设备接收所述一级设备发送的第一拓扑学习指令报文;
[0028] 所述二级设备读取所述第一拓扑学习指令报文中二级设备的节点数,将所述节点 数加1后更新所述节点数,并将更新的节点数、自身地址或自身设备ID添加到所述第一拓扑 学习指令报文中;
[0029] 所述二级设备在自身为中间二级设备时,将添加完成后的第一拓扑学习指令报文 转发给自身的下一跳二级设备;在自身为最后一跳二级设备时,将添加完成后的第一拓扑 学习指令报文返回给所述一级设备。
[0030] 优选地,所述方法还包括:
[0031] 所述二级设备发送第二拓扑学习指令报文,所述第二拓扑学习指令报文用于指示 与自身构成的单向环子网内的三级设备读取所述第二拓扑学习指令报文中三级设备的节 点数,将所述节点数加1后更新所述节点数,将更新的节点数、自身地址或自身设备ID添加 到所述第二拓扑学习指令报文中,并在自身为中间三级设备时将添加完成后的第二拓扑学 习指令报文转发给自身的下一跳三级设备;在自身为最后一跳三级设备时将添加完成后的 第二拓扑学习指令报文返回给所述二级设备;
[0032]所述二级设备接收返回的第二拓扑学习指令报文,根据返回的第二拓扑学习指令 报文中的节点数、设备地址或设备ID确定所述单向环子网的拓扑结构,并根据所述单向环 子网的拓扑结构更新所述数据转发表。
[0033] 根据上述方法,本发明实施例提供了一种单向串行总线网络的通信装置,应用于 包括一级设备、二级设备及三级设备的单向串行总线网络中的二级设备,其中,所述一级设 备通过单向串行总线与至少一个二级设备构成单向环网,每个二级设备分别通过单向串行 总线与至少一个三级设备构成单向环子网,该装置包括:接收模块、确定模块、发送模块;其 中,
[0034] 所述接收模块,用于接收数据报文,所述数据报文中携带有节点信息;
[0035] 所述确定模块,用于根据所述节点信息确定所述数据报文的转发路径,并指示所 述发送模块通过确定的转发路径转发所述数据报文;
[0036] 所述发送模块,用于根据所述确定模块的指示通过确定的转发路径转发所述数据 报文。
[0037] 优选地,所述二级设备上针对本地单向环子网存储有数据转发表,若所述节点信 息包括目的地址,相应的,所述数据转发表包括入端口、目的地址、与所述目的地址对应的 出端口;若所述节点信息包括目的设备身份标识ID,相应的,所述数据转发表包括入端口、 目的设备ID、与所述目的设备ID对应的出端口;
[0038]所述确定模块,具体用于确定所述目的地址是否为自身地址或者所述目的设备ID 是否为自身设备ID;
[0039] 若是,则处理所述数据报文并停止转发所述数据报文;否则,根据接收数据报文的 入端口、所述目的地址或所述目的设备ID查询所述数据转发表确定对应的出端口,并通过 对应的出端口转发所述数据报文。
[0040] 优选地,所述确定模块,具体用于在所述数据转发表中所述入端口对应的目的地 址中查询所述目的地址,或者,在所述数据转发表中所述入端口对应的目的设备ID中查询 所述目的设备ID;
[0041 ]查询到所述目的地址或所述目的设备ID时,进一步查询所述目的地址或所述目的 设备ID对应的出端口;
[0042] 若所述入端口连接到所述单向环网,则当所述目的地址为广播地址或所述目的设 备ID为广播ID时,将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备 以及自身的下一跳二级设备;当所述目的地址为单播地址或所述目的设备ID为单播ID时, 将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备;
[0043] 若所述入端口连接到本地单向环子网,则当所述目的地址为广播地址或所述目的 设备ID为广播ID时,丢弃所述数据报文;
[0044] 未查询到所述目的地址或目的设备ID时,将所述数据报文通过默认的出端口转发 给自身的下一跳二级设备。
[0045] 优选地,所述二级设备上针对本地单向环网存储有数据转发表,若所述节点信息 包括目的地址,相应的,所述数据转发表包括目的地址、与所述目的地址对应的出端口;若 所述节点信息包括目的设备身份标识ID,相应的,所述数据转发表包括目的设备ID、与所述 目的设备ID对应的出端口;
[0046] 所述确定模块,具体用于确定所述目的地址是否为自身地址或者所述目的设备ID 是否为自身设备ID;
[0047]若是,则处理所述数据报文并停止转发所述数据报文;否则,当所述目的地址为广 播地址或所述目的设备ID为广播ID时,确定接收数据报文的入端口是否连接到所述单向环 网;
[0048]若是,则将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备 以及自身的下一跳二级设备;否则丢弃所述数据报文;
[0049]当所述目的地址为单播地址或所述目的设备ID为单播ID时,根据所述目的地址或 目的设备ID查询所述数据转发表确定对应的出端口,并通过对应的出端口转发所述数据报 文。
[0050]优选地,所述确定模块具体用于:
[0051 ]若在所述数据转发表中查询到所述目的地址或所述目的设备ID,则将所述数据报 文通过对应的出端口转发给本地单向环子网内的三级设备;
[0052]若在所述数据转发表中未查询到所述目的地址或所述目的设备ID,则将所述数据 报文通过默认的出端口转发给自身的下一跳二级设备。
[0053]优选地,所述接收模块,还用于接收一级设备发送的第一拓扑学习指令报文;
[0054] 所述装置还包括:
[0055]更新模块,用于读取所述第一拓扑学习指令报文中二级设备的节点数,将所述节 点数加1后更新所述节点数,并将更新的节点数、自身地址或自身设备ID添加到所述第一拓 扑学习指令报文中;
[0056]所述发送模块,还用于在自身为中间二级设备时,将添加完成后的第一拓扑学习 指令报文转发给自身的下一跳二级设备;在自身为最后一跳二级设备时,将添加完成后的 第一拓扑学习指令报文返回给所述一级设备。
[0057]优选地,所述发送模块,还用于发送第二拓扑学习指令报文,所述第二拓扑学习指 令报文用于指示与自身构成的单向环子网内的三级设备读取所述第二拓扑学习指令报文 中三级设备的节点数,将所述节点数加1后更新所述节点数,将更新的节点数、自身地址或 自身设备ID添加到所述第二拓扑学习指令报文中,并在自身为中间三级设备时将添加完成 的第二拓扑学习指令报文转发给自身的下一跳三级设备;在自身为最后一跳三级设备时将 添加完成的第二拓扑学习指令报文返回给所述二级设备;
[0058]所述确定模块,还用于在所述接收模块接收到返回的第二拓扑学习指令报文时, 根据返回的第二拓扑学习指令报文中的节点数、设备地址或设备ID确定所述单向环子网的 拓扑结构,并根据所述单向环子网的拓扑结构更新所述数据转发表。
[0059] 根据上述方法,本发明实施例还提供了一种单向串行总线网络的通信系统,该系 统包括:一级设备、至少一个二级设备、至少一个三级设备,所述二级设备包括上述的单向 串行总线网络的通信装置;其中,所述一级设备通过单向串行总线与至少一个所述二级设 备构成单向环网,每个所述二级设备分别通过单向串行总线与至少一个三级设备构成单向 环子网。
[0060] 本发明提供的一种单向串行总线网络的通信方法、装置及系统,所述单向串行总 线网络包括一级设备、至少一个二级设备、至少一个三级设备;其中,所述一级设备通过单 向串行总线与至少一个二级设备构成单向环网,每个二级设备分别通过单向串行总线与至 少一个三级设备构成单向环子网,包括:所述二级设备接收数据报文,所述数据报文中携带 有节点信息;根据所述节点信息确定所述数据报文的转发路径,并通过确定的转发路径转 发所述数据报文。如此,本发明实施例中,二级设备根据数据报文中携带的节点信息,对单 向环子网和单向环网之间的数据报文进行转发控制,解决了单向串行总线网络中每个数据 报文都将跑遍该单向串行总线网络中的所有节点设备的问题,从而避免了单向串行总线网 络中无效数据报文的转发,进而提高了网络的资源利用率。
【附图说明】
[0061] 图1显示为本发明的单向串行总线网络的通信方法的流程示意图;
[0062]图2显示为本发明的单向串行总线网络的通信方法的流程示意图;
[0063]图3显示为本发明的单向串行总线网络的通信方法的流程示意图;
[0064]图4显示为本发明的单向串行总线网络的通信装置的组成结构示意图;
[0065]图5显示为本发明的单向串行总线网络的通信系统的组成结构示意图。
【具体实施方式】
[0066]本发明实施例应用于单向串行总线网络,所述单向串行总线网络包括一级设备、 至少一个二级设备、至少一个三级设备;其中,所述一级设备通过单向串行总线与至少一个 二级设备构成单向环网,每个二级设备分别通过单向串行总线与至少一个三级设备构成单 向环子网;在实际应用中,所述一级设备可以采用集中器实现,所述二级设备可以采用采集 器实现,所述三级设备可以采用智能仪表实现,例如,智能电表、智能热表、智能水表、智能 气表等仪表。基于上述单向串行总线网络架构,本发明实施例提供的单向串行总线网络的 通信过程如下:
[0067]所述一级设备、所述二级设备的上一级设备或三级设备向所述二级设备发送数据 报文,所述数据报文中携带有节点信息;
[0068] 所述二级设备接收所述数据报文,根据所述节点信息确定所述数据报文的转发路 径,并通过确定的转发路径转发所述数据报文。
[0069] 本发明实施例中,二级设备根据数据报文中携带的节点信息,实现对一级设备、该 二级设备的上一跳二级设备或三级设备发送的数据报文的转发控制,由此隔离单向环子网 和单向环网之间的数据报文通信,解决了每个数据报文都将跑遍该单向串行总线网络中的 所有节点设备的问题,从而避免了单向串行总线网络中无效数据报文的转发,进而提高了 网络的资源利用率。
[0070] 下面结合附图及具体实施例对本发明做进一步详细的说明。
[0071] 如图1所示,本发明实施例提供的单向串行总线网络的通信流程,应用于二级设 备,具体实现步骤包括:
[0072] 步骤S100:所述二级设备接收数据报文,所述数据报文中携带有节点信息。
[0073]这里,所述单向串行总线网络包括一级设备、至少一个二级设备、至少一个三级设 备;其中,所述一级设备通过单向串行总线与至少一个二级设备构成单向环网,每个二级设 备分别通过单向串行总线与至少一个三级设备构成单向环子网;所述单向串行总线网络 中,一级设备作为所述单向环网的主节点设备;二级设备作为该单向环网的从节点设备,以 及作为与自身构成的单向环子网的主节点设备;三级设备作为该单向环子网的从节点设 备。
[0074]这里,该数据报文由一级设备、自身的上一跳二级设备或三级设备发送。
[0075]这里,所述节点信息包括目的地址或目的设备身份标识(ID);
[0076]其中,设备ID为网络内唯一标识设备的标号,设备ID分为三种类型:类型一、指向 本地单向环子网内单个设备的单播ID,类型二、指向不在本地单向环子网内设备的单播ID, 类型三、指向多个或全部设备的广播ID;由于设备ID与设备地址相关联,相应的,目的地址 也分为单播地址和广播地址。
[0077]步骤S101:所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通 过确定的转发路径转发所述数据报文。
[0078] 这里,所述二级设备根据所述节点信息查询数据转发表,确定所述数据报文的转 发路径具体采用以下两种方式:
[0079] 方式一、所述二级设备上针对本地单向环子网存储有数据转发表,若所述节点信 息包括目的地址,相应的,所述数据转发表包括入端口、目的地址、与所述目的地址对应的 出端口;若所述节点信息包括目的设备身份标识ID,相应的,所述数据转发表包括入端口、 目的设备ID、与所述目的设备ID对应的出端口;
[0080] 所述二级设备首先确定所述目的地址是否为自身地址或者所述目的设备ID是否 为自身设备ID;
[0081 ]若是,则处理所述数据报文并停止转发所述数据报文;否则,根据接收数据报文的 入端口、所述目的地址或所述目的设备ID查询数据转发表确定对应的出端口,并通过对应 的出端口转发所述数据报文。
[0082]下面对如何根据接收数据报文的入端口、所述目的地址或所述目的设备ID查询数 据转发表确定对应的出端口,并通过对应的出端口转发所述数据报文,进行具体说明:
[0083]在所述数据转发表中所述入端口对应的目的地址中查询所述目的地址,或者,在 所述数据转发表中所述入端口对应的目的设备ID中查询所述目的设备ID;
[0084]查询到所述目的地址或所述目的设备ID时,进一步查询所述目的地址或所述目的 设备ID对应的出端口;
[0085] 其中,若所述入端口连接到单向环网,则当所述目的地址为广播地址或所述目的 设备ID为广播ID时,将所述数据报文通过对应的出端口转发给与自身构成的单向环子网内 的三级设备以及自身的下一跳二级设备;当所述目的地址为单播地址或所述目的设备ID为 单播ID时,将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备;
[0086] 若所述入端口连接到本地单向环子网,则当所述目的地址为广播地址或所述目的 设备ID为广播ID时,丢弃所述数据报文;
[0087]未查询到所述目的地址或目的设备ID时,将所述数据报文通过默认的出端口转发 给自身的下一跳二级设备。
[0088] 本发明实施例中,若所述入端口连接到单向环网,则当所述目的地址为广播地址 或所述目的设备ID为广播ID时,在所述数据转发表中预先设置对应的出端口为连接本地单 向环子网的出端口,以及连接单向环网的出端口,因此,可以将所述数据报文通过对应的出 端口转发给本地单向环子网内的三级设备以及自身的下一跳二级设备;当所述目的地址为 单播地址或所述目的设备ID为单播ID,且所述目的地址或所述目的设备ID为本地单向环子 网中三级设备的地址或ID时,在所述数据转发表中预先设置所述目的地址或所述目的设备 ID,并设置对应的出端口为连接本地单向环子网的出端口,因此,可以将所述数据报文通过 对应的出端口转发给本地单向环子网内的三级设备;当所述目的地址为单播地址或所述目 的设备ID为单播ID,且所述目的地址或所述目的设备ID不为本地单向环子网中三级设备的 地址或ID时,在所述数据转发表中并不设置所述目的地址或目的设备ID,采用默认的出端 口转发,该默认的出端口为连接单向环网的端口。
[0089] 本发明实施例中,若所述入端口连接到本地单向环子网,则当所述目的地址为广 播地址或所述目的设备ID为广播ID时,在所述数据转发表中设置对应的出端口为特殊端 口,在所述二级设备查询到对应的出端口为特殊端口时停止转发并丢弃所述数据报文;当 所述目的地址为单播地址或所述目的设备ID为单播ID时,所述目的地址或所述目的设备ID 为单向环网中设备的地址或ID,所述目的地址或所述目的设备ID并不为本地单向环子网中 设备的地址或ID,因此,在所述数据转发表中并不设置所述目的地址或目的设备ID,由此将 所述数据报文通过默认的出端口转发给自身的下一跳二级设备。
[0090] 需要说明的是:所述二级设备通过单向串行总线与至少一个三级设备构成的单向 环子网为所述二级设备的本地单向环子网。
[0091] 为了更清楚地对本发明实施例进行说明,下面以具体实施例对所述单向串行总线 网络的通信流程进行描述。
[0092] 实施例一
[0093]若所述节点信息包括目的地址,则配置如表1所示的数据转发表项:
[0095] 表 1
[0096] 其中,二级设备配置至少两个独立工作的串行端口,可以从任意端口接收或发送 报文,也可以在端口之间转发报文;端口 1配置为连接到单向环网的入端口;端口 2配置为连 接到本地单向环子网的入端口;端口 3配置为连接本地单向环子网的出端口;端口 4配置为 连接单向环网的出端口,为默认的出端口;特殊端口为111 1端口。
[0097] 其中,若所述入端口为端口 1,则当所述目的地址为广播地址时,在所述数据转发 表1中预先设置对应的出端口为端口 3以及端口 4;当所述目的地址为单播地址,且所述目的 地址为本地单向环子网中三级设备的地址时,在所述数据转发表1中预先设置所述目的地 址,并设置对应的出端口为端口 3;当所述目的地址为单播地址,且所述目的地址不为本地 单向环子网中三级设备的地址时,在所述数据转发表1中并不设置所述目的地址,且对应的 出端口为默认的出端口。若所述入端口为端口 2,则当所述目的地址为广播地址时,在所述 数据转发表1中预先设置对应的出端口为特殊端口;当所述目的地址为单播地址时,所述目 的地址为单向环网中设备的地址,因此,在所述数据转发表1中并不设置所述目的地址,采 用默认的出端口转发所述数据报文。
[0098] (1)从端口 1接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的地址1,首先确定所述目的地址1并不为自身地址,然后,在所述数据转发表1中所述端 口 1对应的目的地址中查询所述目的地址1;
[0099] 此时在所述端口 1对应的目的地址中查询到所述目的地址1,则进一步查询所述目 的地址1对应的出端口;
[0100] 此时确定对应的出端口为端口 3及端口 4,将所述数据报文通过端口 3及端口 4转发 给本地单向环子网内的三级设备以及自身的下一跳二级设备。
[0101] (2)从端口 1接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的地址2,首先确定所述目的地址2并不为自身地址,然后,在所述数据转发表1中所述端 口 1对应的目的地址中查询所述目的地址2;
[0102] 此时在所述端口 1对应的目的地址中查询到所述目的地址2,则进一步查询所述目 的地址1对应的出端口;
[0103] 此时确定对应的出端口为端口 3,将所述数据报文通过端口 1转发给本地单向环子 网内的三级设备。
[0104] (3)从端口 1接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的地址3,首先根据所述目的地址3并不为自身地址,然后,在所述数据转发表1中所述端 口 1对应的目的地址中查询所述目的地址3;
[0105] 此时由于未查询到所述目的地址3,因此,将所述数据报文通过端口4(默认的出端 口)转发给自身的下一跳二级设备。
[0106] 实施例二
[0107] 若所述节点信息包括目的设备ID,则配置如表2所示的数据转发表项:
[0109] 表2
[0110] 其中,二级设备配置至少两个独立工作的串行端口,可以从任意端口接收或发送 报文,也可以在两个端口之间转发报文;端口 1配置为连接到单向环网的入端口;端口 2配置 为连接到本地单向环子网的入端口;端口 3配置为连接本地单向环子网的出端口;端口 4配 置为连接单向环网的出端口,为默认的出端口;特殊端口为1111端口。
[0111] 其中,若所述入端口为端口 1,则当所述目的设备ID为广播ID时,在所述数据转发 表2中预先设置对应的出端口为端口3以及端口4;当所述目的设备ID为单播ID,且所述目的 设备ID为本地单向环子网中三级设备的ID时,在所述数据转发表2中预先设置所述目的设 备ID,并配置对应的出端口为端口 3;当所述目的设备ID为单播ID,且所述目的设备ID不为 本地单向环子网中三级设备的ID时,在所述数据转发表2中并不设置所述目的设备ID,且对 应的出端口为默认的出端口。若所述入端口为端口 2,则当所述目的设备ID为广播ID时,在 所述数据转发表2中预先设置对应的出端口为特殊端口;当所述目的设备ID为单播ID,所述 目的设备ID为单向环网中设备的ID时,因此,在所述数据转发表2中并不设置所述目的设备 ID,采用默认出端口转发所述数据报文。
[0112] (1)从端口 2接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的设备ID3,首先确定所述目的设备ID3并不为自身ID,然后,在所述数据转发表2中所述 端口2对应的目的设备中查询所述目的设备ID3;
[0113]此时在所述端口 2对应的目的设备中查询到所述目的设备ID3,则进一步查询所述 目的设备ID3对应的出端口;
[0114] 此时查询到对应的出端口为特殊端口,因此,停止转发并丢弃所述数据报文。
[0115] (2)从端口 2接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的设备ID5,首先根据所述目的设备ID5并不为自身ID,然后,在所述数据转发表2中所述 端口 2对应的目的设备ID中查询所述目的设备ID5;
[0116] 此时由于未查询到所述目的设备ID5,因此,将所述数据报文通过端口4(默认的出 端口)转发给自身的下一跳二级设备。
[0117] 需要说明的是:上述表1和表2仅为示例,并不构成对本发明的限制。
[0118] 方式二、所述二级设备上针对本地单向环网存储有数据转发表,若所述节点信息 包括目的地址,相应的,所述数据转发表包括目的地址、与所述目的地址对应的出端口;若 所述节点信息包括目的设备身份标识ID,相应的,所述数据转发表包括目的设备ID、与所述 目的设备ID对应的出端口;
[0119]所述二级设备首先确定所述目的地址是否为自身地址或者所述目的设备ID是否 为自身设备ID;
[0120]若是,则处理所述数据报文并停止转发所述数据报文;否则,当所述目的地址为广 播地址或所述目的设备ID为广播ID时,确定接收数据报文的入端口是否连接到所述单向环 网;
[0121]若是,则将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备 以及自身的下一跳二级设备;否则丢弃所述数据报文;
[0122] 当所述目的地址为单播地址或所述目的设备ID为单播ID时,根据所述目的地址或 目的设备ID查询所述数据转发表确定对应的出端口,并通过对应的出端口转发所述数据报 文。
[0123] 下面对如何根据所述目的地址或目的设备ID查询所述数据转发表确定对应的出 端口,并通过对应的出端口转发所述数据报文,进行具体说明:
[0124] 若在所述数据转发表中查询到所述目的地址或所述目的设备ID,则将所述数据报 文通过对应的出端口转发给本地单向环子网内的三级设备;
[0125] 若在所述数据转发表中未查询到所述目的地址或所述目的设备ID,则将所述数据 报文通过默认的出端口转发给自身的下一跳二级设备。
[0126] 为了更清楚地对本发明实施例进行说明,下面以具体实施例对所述单向串行总线 网络的通信流程进行描述。
[0127] 实施例三
[0128] 若所述节点信息包括目的地址,则配置如表3示的数据转发表项:
[0131] 表3
[0132] 其中,二级设备配置至少两个独立工作的串行端口,可以从任意端口接收或发送 报文,也可以在端口之间转发报文;端口 1配置为连接到单向环网的入端口;端口 2配置为连 接到本地单向环子网的入端口;端口 3配置为连接本地单向环子网的出端口;端口 4配置为 连接单向环网的出端口,为默认的出端口。
[0133] 其中,当所述目的地址为单播地址,且所述目的地址为本地单向环网中设备的地 址时,在所述数据转发表3中预先设置对应的出端口为端口 3;当所述目的地址为单播地址, 且所述目的地址为单向环网中设备的地址时,采用默认的出端口转发所述数据报文。
[0134] (1)从端口 1接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的地址3,首先确定所述目的地址3并不为自身地址,然后,当所述目的地址3为广播地址 时,确定接收数据报文的入端口 1是否连接到所述单向环网;
[0135] 此时入端口 1连接到所述单向环网,将所述数据报文通过对应的出端,3及端口4转 发给本地单向环子网内的三级设备以及自身的下一跳二级设备。
[0136] (2)从端口 2接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的地址3,首先确定所述目的地址3并不为自身地址,然后,当所述目的地址3为广播地址 时,确定接收数据报文的入端口 2是否连接到所述单向环网;
[0137] 此时入端口2连接到本地单向环子网,因此,停止转发并丢弃所述数据报文。
[0138] (3)从端口 1接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的地址1,首先确定所述目的地址1并不为自身地址,然后,当所述目的地址1为单播地址 时,根据所述目的地址1查询所述数据转发表3;
[0139] 此时查询到所述目的地址1,因此,将所述数据报文通过对应的端口3转发给本地 单向环子网内的三级设备。
[0140] (4)从端口 2接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的地址4,首先确定所述目的地址4并不为自身地址,然后,当所述目的地址4为单播地址 时,根据所述目的地址4查询所述数据转发表3;
[0141] 此时未查询到所述目的地址4,因此,将所述数据报文通过对应的端口4(默认的出 端口)转发给自身的下一跳二级设备。
[0142] 实施例四
[0143]若所述节点信息包括目的设备ID,则配置如表4示的数据转发表项:
[0145] 表4
[0146] 其中,二级设备配置至少两个独立工作的串行端口,可以从任意端口接收或发送 报文,也可以在端口之间转发报文;端口 1配置为连接到单向环网的入端口;端口 2配置为连 接到本地单向环子网的入端口;端口 3配置为连接本地单向环子网的出端口;端口 4配置为 连接单向环网的出端口,为默认的出端口。
[0147] 其中,当所述目的设备ID为单播ID,且所述目的设备ID为本地单向环网中设备的 地址时,在所述数据转发表4中预先设置对应的出端口为端口 3;当所述目的设备ID为单播 ID,且所述目的设备ID为单向环网中设备的ID时,采用端口4(默认的出端口)转发所述数据 报文。
[0148] (1)从端口 1接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的设备ID3,首先确定所述目的设备ID3并不为自身ID,然后,当所述目的设备ID3为广播 ID时,确定接收数据报文的入端口 1是否连接到所述单向环网;
[0149] 此时入端口 1连接到所述单向环网,将所述数据报文通过对应的端口 3及端口 4转 发给本地单向环子网内的三级设备以及自身的下一跳二级设备。
[0150] (2)从端口 2接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的设备ID3,首先确定所述目的设备ID3并不为自身ID,然后,当所述目的设备ID3为广播 ID时,确定接收数据报文的入端口 2是否连接到所述单向环网;
[0151] 此时入端口2连接到本地单向环子网,因此,停止转发并丢弃所述数据报文。
[0152] (3)从端口 1接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的设备ID1,首先确定所述目的设备ID1并不为自身ID,然后,当所述目的设备ID1为单播 ID时,根据所述目的设备ID1查询所述数据转发表4;
[0153] 此时查询到所述目的设备ID1,因此,将所述数据报文通过对应的端口3转发给本 地单向环子网内的三级设备。
[0154] (4)从端口 2接收数据报文,所述数据报文中携带有节点信息,所述节点信息包括 目的设备ID4,首先确定所述目的设备ID4并不为自身ID,然后,当所述目的设备ID4为单播 地址时,根据所述目的设备ID4查询所述数据转发表4;
[0155] 此时未查询到所述目的设备ID4,因此,将所述数据报文通过对应的端口4(默认的 出端口)转发给自身的下一跳二级设备。
[0156] 需要说明的是:上述表3和表4仅为示例,并不构成对本发明的限制。
[0157] 这里,二级设备的数据转发表可以通过如下方式建立和维护:
[0158] 方式一、静态固定或人工配置指定某一个或某几个端口为默认的出端口,并指定 某一个或某几个端口为连接本地单向环子网的出端口。
[0159] 方式二、通过自动拓扑学习机制建立和维护。
[0160] 进一步地,为了能够自动学习及感知所述单向环网的网络拓扑结构,所述一级设 备作为所述单向环网的主节点设备,在需要自动学习及感知所述单向环网的网络拓扑结构 时,向所述单向环网中的所述二级设备发送第一拓扑学习指令报文,所述二级设备作为所 述单向环网的从节点设备,进一步包括:
[0161] 所述二级设备接收所述一级设备发送的第一拓扑学习指令报文;
[0162] 所述二级设备读取所述第一拓扑学习指令报文中二级设备的节点数,将所述节点 数加1后更新所述节点数,并将更新的节点数、自身地址或自身设备ID添加到所述第一拓扑 学习指令报文中;
[0163] 所述二级设备在自身为中间级二级设备时,将添加完成后的第一拓扑学习指令报 文转发给自身的下一跳二级设备;在自身为最后一级二级设备时,将添加完成后的第一拓 扑学习指令报返回给所述一级设备。
[0164]具体的,所述第一拓扑学习指令报文由所述一级设备在需要自动学习及感知所述 单向环网的网络拓扑时发送,所述第一拓扑学习指令报文携带有源地址及目的地址,所述 源地址及目的地址均为所述一级设备自身地址;或者,所述第一拓扑学习指令报文携带有 源设备ID及目的设备ID,所述源设备ID及目的设备ID均为所述一级设备自身的设备ID,以 使所述二级设备在接收到所述第一拓扑学习指令报文时逐跳更新第一拓扑学习指令报文 中的节点数,并不断地将自身地址或自身设备ID追加到所述第一拓扑学习指令报文中,所 述第一拓扑学习指令报文如表5所不:
[0166] 表5
[0167] 其中,所述一级设备发送的第一拓扑学习指令报文中的二级设备的节点数为零, 由所述二级设备从接收到的第一拓扑学习指令报文中的某个位置读取二级设备的节点数, 将所述节点数加1后回写覆盖原来位置处的节点数,然后根据更新后的节点数计算出在所 述第一拓扑学习指令报文中添加自身地址或自身设备ID的位置,并在计算出的位置处写入 自身地址或自身设备ID;在保持源地址及目的地址,或者源设备ID及目的设备ID不变的情 况下,将添加完成后的第一拓扑学习指令报文转发给自身的下一跳二级设备,由最后一跳 二级设备在将更新后的节点数及自身地址或自身设备ID添加到所述第一拓扑学习指令报 文后,将添加完成后的拓扑学习指令报文返回给所述一级设备。
[0168] 进一步地,为了使所述一级设备能够确定所述单向环网中故障节点的位置,所述 二级设备进一步包括:
[0169]所述二级设备检测自身是否故障;
[0170] 在检测自身故障时,发送第一故障报告报文,所述第一故障报告报文用于指示所 述一级设备根据收到的第一故障报告报文及单向环网的拓扑结构确定单向环网中故障节 点的位置。本发明实施例中,所述一级设备根据收到的第一故障报告报文及单向环网的拓 扑结构,能够快递地确定单向环网中故障节点的位置,从而降低了所述单向环网的维护成 本,并缩短了故障的影响时间。
[0171] 进一步地,为了能够自动学习及感知本地单向环子网的网络拓扑结构,以及根据 动态变化的网络拓扑结构实时更新本地存储的数据转发表,从而实现数据报文的实时转 发,因此,所述二级设备作为本地单向环子网的主节点设备,在需要自动学习及感知本地单 向环子网的学习指令报文用于指示与所述单向环子网内的三级设备读取所述第二拓扑学 习指令报文中三级设备的节点数,将所述节点数加1后更新所述节点数,将更新的节点数、 自身地址或自身设备ID添加到所述第二拓扑学习指令报文中,并在自身为中间三级设备时 将添加完成后的第二拓扑学习指令报文转发给自身的下一跳三级设备;在自身为最后一跳 三级设备时将添加完成后的第二拓扑学习指令报文返回给所述二级设备;
[0172] 所述二级设备接收返回的第二拓扑学习指令报文,根据返回的第二拓扑学习指令 报文中的节点数、设备的地址或ID确定所述单向环子网的拓扑结构并生成所述单向环子网 的拓扑结构图,并根据所述单向环子网的拓扑结构更新所述数据转发表。具体的,所述第二 拓扑学习指令报文中携带有源地址及目的地址,所述源地址及目的地址均为所述二级设备 自身地址;或者,所述第二拓扑学习指令报文携带有源设备ID及目的设备ID,所述源设备ID 及目的设备ID均为所述二级设备自身设备ID,以使所述三级设备在接收到所述第二拓扑学 习指令报文时逐跳更新第二拓扑学习指令报文中的节点数,并不断地将自身地址或自身设 备ID追加到所述第二拓扑学习指令报文中,所述第二拓扑学习指令报文如表6所示:
[0174] 表6
[0175] 其中,所述二级设备发送的拓扑学习指令报文中的三级设备的节点数为零,由所 述三级设备从接收到的第二拓扑学习指令报文中的某个位置读取三级设备的节点数,将所 述节点数加1后回写覆盖原来位置处的节点数数据,然后根据更新后的节点数计算出在所 述第二拓扑学习指令报文中添加自身地址或自身设备ID的位置,并写入在计算出的位置处 写入自身地址或自身设备ID;在保持源地址及目的设备地址,或者源设备ID及目的设备ID 不变的情况下,将添加完成后的第二拓扑学习指令报文转发给自身的下一跳三级设备,由 最后一跳三级设备在更新完节点数并将自身地址或自身设备ID添加完成后,将添加完成后 的第二拓扑学习指令报文返回给所述二级设备。
[0176] 需要说明的是:上述表5和表6仅为示例,并不构成对本发明的限制。
[0177] 具体的,所述二级设备可以采用如下方式发送第二拓扑学习指令报文:
[0178] (1)按照设定时间间隔方式发送
[0179] 所述二级设备发送第二拓扑学习指令报文时,启动定时器计时,当定时器到达设 定时间时,发送下一个第二拓扑学习指令报文,也就是说,采用此方式可以根据定时器计时 周期性地发送第二拓扑学习指令报文,以实现网络拓扑的自动学习及更新。
[0180] (2)按照命令触发方式发送
[0181] 具体的触发方式可以是,在用户或所述一级设备需要实现网络拓扑自动学习时触 发所述二级设备发送第二拓扑学习指令报文。
[0182] 进一步地,所述二级设备为了能够确定本地单向环子网中故障节点的位置,进一 步包括:所述二级设备接收所述三级设备发送的第二故障报告报文;
[0183] 所述二级设备根据所述第二故障报告报文及与自身构成的单向环子网的拓扑结 构确定所述单向环子网中故障节点的位置。
[0184] 这里,所述第二故障报告报文是由本地单向环子网内三级设备检测自身是否故 障,并在检测自身故障时向所述二级设备发送的。
[0185] 本发明实施例中,所述二级设备根据收到的第二故障报告报文及与自身构成的单 向环子网的拓扑结构,能够快递地确定单向环子网中故障节点的位置,从而降低了所述单 向环子网的维护成本,并缩短了故障的影响时间。
[0186] 本发明实施例中,监控管理设备通过远程网络连接所述一级设备,所述监控管理 设备可以先从一级设备上查询到与一、二级设备之间的单向环网的拓扑结构,根据所述单 向环网的拓扑结构绘出一、二级设备之间的包括连接关系的拓扑结构图;所述监控管理设 备再根据所述拓扑结构图,依次向所述拓扑结构图中所有二级设备查询本地单向环子网的 网络拓扑,各二级设备依次返回自身学习到的本地单向环子网的拓扑结构;所述监控管理 设备依据各二级设备返回的本地单向环子网的拓扑结构,进一步绘出各二级设备下的本地 单向环子网的拓扑结构图,如此,根据所述一、二级设备之间的拓扑结构图,及各二级设备 下的本地单向环子网的拓扑结构图,生成了所述单向串行总线网络的全网拓扑结构图。
[0187] 如图2所示,本发明实施例提供的单向串行总线网络的通信流程,应用于一级设 备,具体实现步骤包括:
[0188] 步骤S200:所述一级设备获取携带有节点信息的数据报文;
[0189] 这里,所述节点信息包括目的地址或目的设备ID;
[0190]其中,设备ID为网络内唯一标识设备的标号,设备ID分为三种类型:类型一、指向 本地单向环子网内单个设备的单播ID,类型二、指向不在本地单向环子网内设备的单播ID, 类型三、指向多个或全部设备的广播ID;由于设备ID与地址相关联,相应的,目的地址也分 为单播地址和广播地址。
[0191] 步骤S201:所述一级设备将携带有节点信息的数据报文发送给所述二级设备,触 发所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通过确定的转发路径 转发所述数据报文。
[0192] 进一步地,为了能够自动学习及感知单向环网的网络拓扑结构,所述一级设备作 为所述单向环网的主节点设备,在需要自动学习及感知所述单向环网的网络拓扑结构时, 进一步包括:
[0193] 所述一级设备发送第一拓扑学习指令报文,所述第一拓扑学习指令报文用于指示 所述二级设备读取所述第一拓扑学习指令报文中二级设备的节点数,将所述节点数加1后 更新所述节点数,将更新的节点数、自身地址或自身设备ID添加到所述第一拓扑学习指令 报文中,并在自身为中间二级设备时,将添加完成后的第一拓扑学习指令报文转发给自身 的下一跳二级设备;在自身为最后一跳二级设备时,将添加完成后的第一拓扑学习指令报 文返回给所述一级设备;
[0194] 所述一级设备接收返回的第一拓扑学习指令报文,根据返回的第一拓扑学习指令 报文中的节点数、设备地址或设备ID确定所述单向环网的拓扑结构并生成所述单向环网的 拓扑结构图。
[0195] 具体的,所述一级设备可以采用如下方式发送第一拓扑学习指令报文:
[0196] (1)按照设定时间间隔方式发送
[0197] 所述一级设备发送第一拓扑学习指令报文时,启动定时器计时,当定时器到达设 定时间时,发送下一个第一拓扑学习指令报文,也就是说,采用此方式可以根据定时器计时 周期性地发送第一拓扑学习指令报文,以实现网络拓扑的自动学习及更新。
[0198] (2)按照命令触发方式发送
[0199] 具体的触发方式可以是,在用户或与所述一级设备连接的远端网络监控管理设备 需要实现网络拓扑自动学习时触发所述一级设备发送第一拓扑学习指令报文。
[0200] 进一步地,所述一级设备为了能够确定所述单向环网中故障节点的位置,进一步 包括:所述一级设备接收所述二级设备发送的第一故障报告报文;
[0201] 所述一级设备根据收到的第一故障报告报文及所述单向环网的拓扑结构确定所 述单向环网中故障节点的位置。
[0202] 这里,所述第一故障报告报文是由所述二级设备检测自身是否故障,并在检测自 身故障时向一级设备发送的。
[0203] 如图3所示,本发明实施例提供的单向串行总线网络的通信流程,应用于三级设 备,具体实现步骤包括:
[0204] 步骤S300:所述三级设备获取携带有节点信息的数据报文。
[0205] 这里,所述节点信息包括目的地址或目的设备ID;
[0206]其中,设备ID为网络内唯一标识设备的标号,设备ID分为三种类型:类型一、指向 本地单向环子网内单个设备的单播ID,类型二、指向不在本地单向环子网内设备的单播ID, 类型三、指向多个或全部设备的广播ID;由于设备ID与地址相关联,相应的,目的地址也分 为单播地址和广播地址。
[0207]步骤S301:所述三级设备将携带有节点信息的数据报文发送给所述二级设备,触 发所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通过确定的转发路径 转发所述数据报文。
[0208]进一步地,为了能够自动学习及感知所述单向环网的网络拓扑结构,所述二级设 备作为与自身构成的单向环子网的主节点设备,在需要自动学习及感知所述单向环子网的 网络拓扑结构时,向所述单向环子网中的三级设备发送第二拓扑学习指令报文,所述三级 设备作为所述单向环子网的从节点设备,进一步包括:
[0209]所述三级设备接收所述二级设备发送的第二拓扑学习指令报文;
[0210]所述三级设备读取所述第二拓扑学习指令报文中三级设备的节点数,将所述节点 数加1后更新所述节点数,并将更新的节点数、自身地址或自身设备ID添加到所述第二拓扑 学习指令报文中;
[0211]所述三级设备在自身为中间三级设备时,将添加完成后的第二拓扑学习指令报文 转发给自身的下一跳三级设备;在自身为最后一跳三级设备时,将添加完成后的第二拓扑 学习指令报文返回给所述二级设备。
[0212]进一步地,为了使所述二级设备能够确定所述单向环子网中故障节点的位置,所 述三级设备进一步包括:
[0213]所述三级设备检测自身是否故障;
[0214]所述三级设备检测自身故障时,发送第二故障报告报文,所述第二故障报告报文 用于指示所述二级设备根据收到的第二故障报告报文及与自身构成的单向环子网的拓扑 结构确定所述单向环子网中故障节点的位置。
[0215]为实现上述方法,本发明实施例提供了一种单向串行总线网络的通信装置,由于 该装置解决问题的原理与方法相似,因此,装置的实施过程及实施原理均可以参见前述方 法的实施过程及实施原理描述,重复之处不再赘述。
[0216]本发明实施例提出了一种单向串行总线网络的通信装置,如图4所示,应用于包括 一级设备、二级设备及三级设备的单向串行总线网络中的二级设备,其中,所述一级设备通 过单向串行总线与至少一个二级设备构成单向环网,每个二级设备分别通过单向串行总线 与至少一个三级设备构成单向环子网,所述装置包括:接收模块400、确定模块401、发送模 块402;其中,
[0217] 所述接收模块400,用于接收数据报文,所述数据报文中携带有节点信息;
[0218] 所述确定模块401,用于根据所述节点信息确定所述数据报文的转发路径,并指示 所述发送模块402通过确定的转发路径转发所述数据报文;
[0219]所述发送模块402,用于根据所述确定模块401的指示通过确定的转发路径转发所 述数据报文。
[0220]具体实施中,所述二级设备上针对本地单向环子网存储有数据转发表,若所述节 点信息包括目的地址,相应的,所述数据转发表包括入端口、目的地址、与所述目的地址对 应的出端口;若所述节点信息包括目的设备身份标识ID,相应的,所述数据转发表包括入端 口、目的设备ID、与所述目的设备ID对应的出端口;
[0221 ]所述确定模块401,具体用于确定所述目的地址是否为自身地址或者所述目的设 备ID是否为自身设备ID;
[0222] 若是,则处理所述数据报文并停止转发所述数据报文;否则,根据接收数据报文的 入端口、所述目的地址或所述目的设备ID查询所述数据转发表确定对应的出端口,并通过 对应的出端口转发所述数据报文。
[0223] 具体实施中,所述确定模块401,具体用于在所述数据转发表中所述入端口对应的 目的地址中查询所述目的地址,或者,在所述数据转发表中所述入端口对应的目的设备ID 中查询所述目的设备ID;
[0224] 查询到所述目的地址或所述目的设备ID时,进一步查询所述目的地址或所述目的 设备ID对应的出端口;
[0225] 若所述入端口连接到所述单向环网,则当所述目的地址为广播地址或所述目的设 备ID为广播ID时,将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备 以及自身的下一跳二级设备;当所述目的地址为单播地址或所述目的设备ID为单播ID时, 将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备;
[0226] 若所述入端口连接到本地单向环子网,则当所述目的地址为广播地址或所述目的 设备ID为广播ID时,丢弃所述数据报文;
[0227] 未查询到所述目的地址或目的设备ID时,将所述数据报文通过默认的出端口转发 给自身的下一跳二级设备。
[0228] 具体实施中,所述二级设备上针对本地单向环网存储有数据转发表,若所述节点 信息包括目的地址,相应的,所述数据转发表包括目的地址、与所述目的地址对应的出端 口;若所述节点信息包括目的设备身份标识ID,相应的,所述数据转发表包括目的设备ID、 与所述目的设备ID对应的出端口;
[0229] 所述确定模块401,具体用于确定所述目的地址是否为自身地址或者所述目的设 备ID是否为自身设备ID;
[0230] 若是,则处理所述数据报文并停止转发所述数据报文;否则,当所述目的地址为广 播地址或所述目的设备ID为广播ID时,确定接收数据报文的入端口是否连接到所述单向环 网;
[0231 ]若是,则将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备 以及自身的下一跳二级设备;否则丢弃所述数据报文;
[0232]当所述目的地址为单播地址或所述目的设备ID为单播ID时,根据所述目的地址或 目的设备ID查询所述数据转发表确定对应的出端口,并通过对应的出端口转发所述数据报 文。
[0233] 具体实施中,所述确定模块401具体用于:
[0234] 若在所述数据转发表中查询到所述目的地址或所述目的设备ID,则将所述数据报 文通过对应的出端口转发给本地单向环子网内的三级设备;
[0235] 若在所述数据转发表中未查询到所述目的地址或所述目的设备ID,则将所述数据 报文通过默认的出端口转发给自身的下一跳二级设备。
[0236]具体实施中,所述接收模块400,还用于接收一级设备发送的第一拓扑学习指令报 文;
[0237] 所述装置还包括:
[0238]更新模块403,用于读取所述第一拓扑学习指令报文中二级设备的节点数,将所述 节点数加1后更新所述节点数,并将更新的节点数、自身地址或自身设备ID添加到所述第一 拓扑学习指令报文中;
[0239]所述发送模块402,还用于在自身为中间二级设备时,将添加完成后的第一拓扑学 习指令报文转发给自身的下一跳二级设备;在自身为最后一跳二级设备时,将添加完成后 的第一拓扑学习指令报文返回给所述一级设备。
[0240]具体实施中,所述发送模块402,还用于发送第二拓扑学习指令报文,所述第二拓 扑学习指令报文用于指示与自身构成的单向环子网内的三级设备读取所述第二拓扑学习 指令报文中三级设备的节点数,将所述节点数加1后更新所述节点数,将更新的节点数、自 身地址或自身设备ID添加到所述第二拓扑学习指令报文中,并在自身为中间三级设备时将 添加完成的第二拓扑学习指令报文转发给自身的下一跳三级设备;在自身为最后一跳三级 设备时将添加完成的第二拓扑学习指令报文返回给所述二级设备;
[0241]所述确定模块401,还用于在所述接收模块400接收到返回的第二拓扑学习指令报 文时,根据返回的第二拓扑学习指令报文中的节点数、设备地址或设备ID确定所述单向环 子网的拓扑结构,并根据所述单向环子网的拓扑结构更新所述数据转发表。
[0242] 以上功能模块的划分方式仅为本发明实施例给出的一种优选实现方式,功能模块 的划分方式不构成对本发明的限制。为了描述的方便,以上所述装置的各部分以功能分为 各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或 多个软件或硬件中实现。
[0243] 为实现上述方法,本发明实施例提供了一种单向串行总线网络的通信系统,由于 该系统解决问题的原理与方法相似,因此,系统的实施过程及实施原理均可以参见前述方 法的实施过程及实施原理描述,重复之处不再赘述。
[0244] 本发明实施例提出了一种单向串行总线网络的通信系统,如图5所示,该系统包 括:一级设备500、至少一个二级设备501、至少一个三级设备502,所述二级设备501包括上 述的单向串行总线网络的通信装置;其中,所述一级设备500通过单向串行总线与至少一个 所述二级设备501构成单向环网,每个所述二级设备501分别通过单向串行总线与至少一个 三级设备502构成单向环子网。
[0245] 综上所述,本发明提供的单向串行总线网络的通信方法、装置及系统,所述单向串 行总线网络包括一级设备、至少一个二级设备、至少一个三级设备;其中,所述一级设备通 过单向串行总线与至少一个二级设备构成单向环网,每个二级设备分别通过单向串行总线 与至少一个三级设备构成单向环子网,所述二级设备接收数据报文,所述数据报文中携带 有节点信息;根据所述节点信息确定所述数据报文的转发路径。如此,本发明实施例中,二 级设备根据数据报文中携带的节点信息,对单向环子网和单向环网之间的数据报文进行转 发控制,解决了单向串行总线网络中每个数据报文都将跑遍该单向串行总线网络中的所有 节点设备的问题,从而避免了单向串行总线网络中无效数据报文的转发,进而提高了网络 的资源利用率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0246]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟 悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因 此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完 成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1. 一种单向串行总线网络的通信方法,所述单向串行总线网络包括一级设备、至少一 个二级设备、至少一个三级设备;其中,所述一级设备通过单向串行总线与至少一个二级设 备构成单向环网,每个二级设备分别通过单向串行总线与至少一个三级设备构成单向环子 网,其特征在于,所述方法包括: 所述二级设备接收数据报文,所述数据报文中携带有节点信息; 所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通过确定的转发路 径转发所述数据报文。2. 根据权利要求1所述的方法,其特征在于,所述二级设备上针对本地单向环子网存储 有数据转发表,若所述节点信息包括目的地址,相应的,所述数据转发表包括入端口、目的 地址、与所述目的地址对应的出端口;若所述节点信息包括目的设备身份标识ID,相应的, 所述数据转发表包括入端口、目的设备ID、与所述目的设备ID对应的出端口; 所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通过确定的转发路 径转发所述数据报文,包括: 所述二级设备确定所述目的地址是否为自身地址或者所述目的设备ID是否为自身设 备ID; 若是,则处理所述数据报文并停止转发所述数据报文;否则,根据接收数据报文的入端 口、所述目的地址或所述目的设备ID查询所述数据转发表确定对应的出端口,并通过对应 的出端口转发所述数据报文。3. 根据权利要求2所述的方法,其特征在于,所述根据接收数据报文的入端口、所述目 的地址或所述目的设备ID查询所述数据转发表确定对应的出端口,并通过对应的出端口转 发所述数据报文,包括: 在所述数据转发表中所述入端口对应的目的地址中查询所述目的地址,或者,在所述 数据转发表中所述入端口对应的目的设备ID中查询所述目的设备ID; 查询到所述目的地址或所述目的设备ID时,进一步查询所述目的地址或所述目的设备 ID对应的出端口; 若所述入端口连接到所述单向环网,则当所述目的地址为广播地址或所述目的设备ID 为广播ID时,将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备以及 自身的下一跳二级设备;当所述目的地址为单播地址或所述目的设备ID为单播ID时,将所 述数据报文通过对应的出端口转发给本地单向环子网内的三级设备; 若所述入端口连接到本地单向环子网,则当所述目的地址为广播地址或所述目的设备 ID为广播ID时,丢弃所述数据报文; 未查询到所述目的地址或目的设备ID时,将所述数据报文通过默认的出端口转发给自 身的下一跳二级设备。4. 根据权利要求1所述的方法,其特征在于,所述二级设备上针对本地单向环网存储有 数据转发表,若所述节点信息包括目的地址,相应的,所述数据转发表包括目的地址、与所 述目的地址对应的出端口;若所述节点信息包括目的设备身份标识ID,相应的,所述数据转 发表包括目的设备ID、与所述目的设备ID对应的出端口; 所述二级设备根据所述节点信息确定所述数据报文的转发路径,并通过确定的转发路 径转发所述数据报文,包括: 所述二级设备确定所述目的地址是否为自身地址或者所述目的设备ID是否为自身设 备ID; 若是,则处理所述数据报文并停止转发所述数据报文;否则,当所述目的地址为广播地 址或所述目的设备ID为广播ID时,确定接收数据报文的入端口是否连接到所述单向环网; 若是,则将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备以及 自身的下一跳二级设备;否则丢弃所述数据报文; 当所述目的地址为单播地址或所述目的设备ID为单播ID时,根据所述目的地址或目的 设备ID查询所述数据转发表确定对应的出端口,并通过对应的出端口转发所述数据报文。5. 根据权利要求4所述的方法,其特征在于,所述当所述目的地址为单播地址或所述目 的设备ID为单播ID时,根据所述目的地址或目的设备ID查询所述数据转发表确定对应的出 端口,并通过对应的出端口转发所述数据报文,包括: 若在所述数据转发表中查询到所述目的地址或所述目的设备ID,则将所述数据报文通 过对应的出端口转发给本地单向环子网内的三级设备; 若在所述数据转发表中未查询到所述目的地址或所述目的设备ID,则将所述数据报文 通过默认的出端口转发给自身的下一跳二级设备。6. 根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括: 所述二级设备接收所述一级设备发送的第一拓扑学习指令报文; 所述二级设备读取所述第一拓扑学习指令报文中二级设备的节点数,将所述节点数加 1后更新所述节点数,并将更新的节点数、自身地址或自身设备ID添加到所述第一拓扑学习 指令报文中; 所述二级设备在自身为中间二级设备时,将添加完成后的第一拓扑学习指令报文转发 给自身的下一跳二级设备;在自身为最后一跳二级设备时,将添加完成后的第一拓扑学习 指令报文返回给所述一级设备。7. 根据权利要求6所述的方法,其特征在于,所述方法还包括: 所述二级设备发送第二拓扑学习指令报文,所述第二拓扑学习指令报文用于指示与自 身构成的单向环子网内的三级设备读取所述第二拓扑学习指令报文中三级设备的节点数, 将所述节点数加1后更新所述节点数,将更新的节点数、自身地址或自身设备ID添加到所述 第二拓扑学习指令报文中,并在自身为中间三级设备时将添加完成后的第二拓扑学习指令 报文转发给自身的下一跳三级设备;在自身为最后一跳三级设备时将添加完成后的第二拓 扑学习指令报文返回给所述二级设备; 所述二级设备接收返回的第二拓扑学习指令报文,根据返回的第二拓扑学习指令报文 中的节点数、设备地址或设备ID确定所述单向环子网的拓扑结构,并根据所述单向环子网 的拓扑结构更新所述数据转发表。8. -种单向串行总线网络的通信装置,应用于包括一级设备、二级设备及三级设备的 单向串行总线网络中的二级设备,其中,所述一级设备通过单向串行总线与至少一个二级 设备构成单向环网,每个二级设备分别通过单向串行总线与至少一个三级设备构成单向环 子网,其特征在于,所述装置包括:接收模块、确定模块、发送模块;其中, 所述接收模块,用于接收数据报文,所述数据报文中携带有节点信息; 所述确定模块,用于根据所述节点信息确定所述数据报文的转发路径,并指示所述发 送模块通过确定的转发路径转发所述数据报文; 所述发送模块,用于根据所述确定模块的指示通过确定的转发路径转发所述数据报 文。9. 根据权利要求8所述的装置,其特征在于,所述二级设备上针对本地单向环子网存储 有数据转发表,若所述节点信息包括目的地址,相应的,所述数据转发表包括入端口、目的 地址、与所述目的地址对应的出端口;若所述节点信息包括目的设备身份标识ID,相应的, 所述数据转发表包括入端口、目的设备ID、与所述目的设备ID对应的出端口; 所述确定模块,具体用于确定所述目的地址是否为自身地址或者所述目的设备ID是否 为自身设备ID; 若是,则处理所述数据报文并停止转发所述数据报文;否则,根据接收数据报文的入端 口、所述目的地址或所述目的设备ID查询所述数据转发表确定对应的出端口,并通过对应 的出端口转发所述数据报文。10. 根据权利要求9所述的装置,其特征在于,所述确定模块,具体用于在所述数据转发 表中所述入端口对应的目的地址中查询所述目的地址,或者,在所述数据转发表中所述入 端口对应的目的设备ID中查询所述目的设备ID; 查询到所述目的地址或所述目的设备ID时,进一步查询所述目的地址或所述目的设备 ID对应的出端口; 若所述入端口连接到所述单向环网,则当所述目的地址为广播地址或所述目的设备ID 为广播ID时,将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备以及 自身的下一跳二级设备;当所述目的地址为单播地址或所述目的设备ID为单播ID时,将所 述数据报文通过对应的出端口转发给本地单向环子网内的三级设备; 若所述入端口连接到本地单向环子网,则当所述目的地址为广播地址或所述目的设备 ID为广播ID时,丢弃所述数据报文; 未查询到所述目的地址或目的设备ID时,将所述数据报文通过默认的出端口转发给自 身的下一跳二级设备。11. 根据权利要求8所述的装置,其特征在于,所述二级设备上针对本地单向环网存储 有数据转发表,若所述节点信息包括目的地址,相应的,所述数据转发表包括目的地址、与 所述目的地址对应的出端口;若所述节点信息包括目的设备身份标识ID,相应的,所述数据 转发表包括目的设备ID、与所述目的设备ID对应的出端口; 所述确定模块,具体用于确定所述目的地址是否为自身地址或者所述目的设备ID是否 为自身设备ID; 若是,则处理所述数据报文并停止转发所述数据报文;否则,当所述目的地址为广播地 址或所述目的设备ID为广播ID时,确定接收数据报文的入端口是否连接到所述单向环网; 若是,则将所述数据报文通过对应的出端口转发给本地单向环子网内的三级设备以及 自身的下一跳二级设备;否则丢弃所述数据报文; 当所述目的地址为单播地址或所述目的设备ID为单播ID时,根据所述目的地址或目的 设备ID查询所述数据转发表确定对应的出端口,并通过对应的出端口转发所述数据报文。12. 根据权利要求11所述的装置,其特征在于,所述确定模块具体用于: 若在所述数据转发表中查询到所述目的地址或所述目的设备ID,则将所述数据报文通 过对应的出端口转发给本地单向环子网内的三级设备; 若在所述数据转发表中未查询到所述目的地址或所述目的设备ID,则将所述数据报文 通过默认的出端口转发给自身的下一跳二级设备。13. 根据权利要求8至12任一项所述的装置,其特征在于,所述接收模块,还用于接收一 级设备发送的第一拓扑学习指令报文; 所述装置还包括: 更新模块,用于读取所述第一拓扑学习指令报文中二级设备的节点数,将所述节点数 加1后更新所述节点数,并将更新的节点数、自身地址或自身设备ID添加到所述第一拓扑学 习指令报文中; 所述发送模块,还用于在自身为中间二级设备时,将添加完成后的第一拓扑学习指令 报文转发给自身的下一跳二级设备;在自身为最后一跳二级设备时,将添加完成后的第一 拓扑学习指令报文返回给所述一级设备。14. 根据权利要求13所述的装置,其特征在于,所述发送模块,还用于发送第二拓扑学 习指令报文,所述第二拓扑学习指令报文用于指示与自身构成的单向环子网内的三级设备 读取所述第二拓扑学习指令报文中三级设备的节点数,将所述节点数加1后更新所述节点 数,将更新的节点数、自身地址或自身设备ID添加到所述第二拓扑学习指令报文中,并在自 身为中间三级设备时将添加完成的第二拓扑学习指令报文转发给自身的下一跳三级设备; 在自身为最后一跳三级设备时将添加完成的第二拓扑学习指令报文返回给所述二级设备; 所述确定模块,还用于在所述接收模块接收到返回的第二拓扑学习指令报文时,根据 返回的第二拓扑学习指令报文中的节点数、设备地址或设备ID确定所述单向环子网的拓扑 结构,并根据所述单向环子网的拓扑结构更新所述数据转发表。15. -种单向串行总线网络的通信系统,其特征在于,所述系统包括:一级设备、至少一 个二级设备、至少一个三级设备,所述二级设备包括如权利要求8至14任一项所述的单向串 行总线网络的通信装置;其中,所述一级设备通过单向串行总线与至少一个所述二级设备 构成单向环网,每个所述二级设备分别通过单向串行总线与至少一个三级设备构成单向环 子网。
【文档编号】H04L12/701GK105959216SQ201610460619
【公开日】2016年9月21日
【申请日】2016年6月22日
【发明人】龙祥均
【申请人】重庆世纪之光科技实业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1