FC-AE-ASM网络数据通讯方法及系统与流程

文档序号:16754281发布日期:2019-01-29 17:12阅读:1246来源:国知局
FC-AE-ASM网络数据通讯方法及系统与流程
本发明涉及光纤通信
技术领域
,具体地涉及一种fc-ae-asm网络数据通讯方法及系统。
背景技术
:fc-ae-asm协议是fc-ae(fibrechannel-avionicsenvironment,光纤通道航空环境)网络中的一种上层协议,该协议用来支持光纤通道航空电子环境中各类处理器、传感器和显示器之间确定、安全、低延迟的通讯;各个设备节点之间的fc-ae-asm的通讯由asm通道进行控制。每个asm(匿名订阅者消息,anonymoussubscribermessage)通道由fc-ae-asm帧头中的messageid(后面简称msgid)与fc帧头里的sid(源fcid)、did(目的fcid)三个要素一起构成,代表了一种单向数据流,每个通道可以承载一种数据业务。在目前国内对于fc-asm使用应用中,每个节点上预先定义有一个asm发送/接收通道表,表中预先定义了与整个系统内的其他节点通讯需要的所有发送和接收通道信息,每条通道由msgid+sid+did进行定义。这些asm通道是在通讯节点启动过程中配置进去的,该配置一旦加载成功后,就不能动态进行修改。本申请的发明人在实践本申请的过程中发现现有技术中的上述方案至少存在如下的缺陷:1)组网很不灵活:每个设备在通道配置数据确定后,就不能修改物理位置,只能插在固定的交换机端口,网络拓扑节点固定;2)配置修改麻烦:一旦每个设备对应的某个端口出现问题,不得不修改端口时,不仅要修改本地配置,同时也要修改多个对方节点的配置。另外,修改各个节点的配置后,需要重新启动系统才能成效,非常不方便。技术实现要素:本发明实施例的目的是提供一种fc-ae-asm网络数据通讯方法及系统,用以至少解决目前fc-ae-asm通讯只适合预先固定式组网所导致的通讯配置难以修改的问题。为了实现上述目的,本发明实施例一方面提供一种fc-ae-asm网络数据通讯方法,包括:获取自第一发布fc节点的发布请求,并解析所述发布请求中所包含的第一发布主题;判断订阅主题表中是否存在与所述第一发布主题相匹配的目标订阅主题,其中所述订阅主题表用于统计光纤网络中的订阅fc节点及其所请求的订阅主题;若存在,则基于所述第一发布fc节点与所述目标订阅主题所对应的订阅fc节点创建用于传输数据的asm收发通道。通过上述技术方案,提出了在针对请求主题发布的节点时,解析出发布请求中的发布主题,并将发布主题与用于统计光纤网络中请求订阅的节点的订阅主题进行比对,以通过主题匹配实时地找到与发布节点相匹配的目标订阅节点,从而创建asm收发通道。由此,实现了在fc-ae-asm网络中,响应于请求主题发布的节点而动态地创建收发通道,解决了现有技术中依赖于预先的固态组网和通讯配置修改困难的问题。本发明实施例另一方面提供一种fc-ae-asm网络数据通讯方法,包括:获取自第一订阅fc节点的订阅请求,并解析所述订阅请求中所包含的第一订阅主题;判断发布主题表中是否存在与所述第一订阅主题相匹配的目标发布主题,其中所述发布主题表用于统计光纤网络中发布fc节点及其所请求的发布主题;若存在,则基于所述第一订阅fc节点与所述目标发布主题所对应的发布fc节点创建用于传输数据的asm收发通道。通过上述技术方案,提出了在针对请求订阅主题注册的节点时,解析出订阅请求中的订阅主题,并将订阅主题与用于统计光纤网络中请求发布的节点的发布主题进行比对,以通过主题匹配实时地找到与订阅节点相匹配的目标发布节点,从而创建asm收发通道。由此,实现了在fc-ae-asm网络中,响应于请求主题订阅注册的节点而动态地创建收发通道,解决了现有技术中依赖于预先的固态组网和通讯配置修改困难的问题。本发明实施例一方面提供一种fc-ae-asm网络数据通讯系统,包括:发布主题获取单元,用于获取自第一发布fc节点的发布请求,并解析所述发布请求中所包含的第一发布主题;订阅主题匹配单元,用于判断订阅主题表中是否存在与所述第一发布主题相匹配的目标订阅主题,其中所述订阅主题表用于统计光纤网络中的订阅fc节点及其所请求的订阅主题;第一通道创建单元,用于若存在,则基于所述第一发布fc节点与所述目标订阅主题所对应的订阅fc节点创建用于传输数据的asm收发通道。本发明实施例另一方面提供一种fc-ae-asm网络数据通讯系统,包括:订阅主题获取单元,用于获取自第一订阅fc节点的订阅请求,并解析所述订阅请求中所包含的第一订阅主题;发布主题匹配单元,用于判断发布主题表中是否存在与所述第一订阅主题相匹配的目标发布主题,其中所述发布主题表用于统计光纤网络中发布fc节点及其所请求的发布主题;第二通道创建单元,用于若存在,则基于所述第一订阅fc节点与所述目标发布主题所对应的发布fc节点创建用于传输数据的asm收发通道。上述的fc-ae-asm网络数据通讯系统与上述的fc-ae-asm网络数据通讯方法所起到的效果相对应,故在此不再赘述。本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:图1a是目前相关技术中的fc-ae-asm网络中固态组网的架构示意图;图1b是目前相关技术中的fc-ae-asm网络中固态组网的原理流程图;图2是本发明一实施例的fc-ae-asm网络数据通讯方法中建立发布的流程图;图3是本发明一实施例的fc-ae-asm网络数据通讯方法中取消发布的流程图;图4是本发明一实施例的fc-ae-asm网络数据通讯方法中建立订阅的流程图;图5是本发明一实施例的fc-ae-asm网络数据通讯方法中取消订阅的流程图;图6a是本发明一实施例的fc-ae-asm网络数据通讯方法中创建asm通道的架构示意图;图6b是本发明一实施例的fc-ae-asm网络数据通讯方法中创建asm通道的流程示意图;图7a是本发明一实施例的fc-ae-asm网络数据通讯方法中删除asm通道的架构示意图;图7b是本发明一实施例的fc-ae-asm网络数据通讯方法中删除asm通道的流程示意图;图8是应用本发明实施例的数据传输的仿真效果图;图9是本发明一实施例的fc-ae-asm网络数据通讯系统的结构框图;图10是本发明一实施例的fc-ae-asm网络数据通讯系统的结构框图。具体实施方式以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。asm通道是利用fc-ae-asm协议进行通讯需要建立的通道链接。(就像用tcp/ip通讯,需要用socket先建立链接一样,只不过socket是双向链接,而这里asm是单向链接)。每个节点上的asm通道分为发送通道和接收通道两种。如图1a和1b所描述的是目前相关技术中的fc-ae-asm网络中固态组网的方式,每条通道都需要由msgid+sid+did在通讯节点启动过程中就进行配置和定义的,且配置一旦加载成功后,就不能动态进行修改。如图1b所示,其描述了具体的固态组网过程,每个通道由sid(源fcid)+did(目的fcid)+messageid进行组成,其中messageid由于全系统唯一定义,所以作为表的关键字。每个通道下在创建的时候会首先在通道表里先加上一条记录,然后给它预先分配一定数量的dmabuffer,用于发送数据或接收数据。当节点上的上层应用想发送一块数据,调用发送api时,会指定messageid和数据内容。通讯模块会从本地已经配置的发送通道列表里找到messageid匹配的记录,然后把用户数据进行拆帧,并根据通道的信息(sid+did+messageid)填写帧头,再放到dmabuffer发送出去。当一个节点的通讯模块收到一个帧时,会从帧里取出sid、did和messageid,然后跟本地已经配置的接收通道列表里进行匹配查找。找到了这个通道,则利用通道包含的信息将多个帧组成完整的用户数据,并通知上层应用程序“xxx通道下有数据来了”。如果匹配失败,则丢弃这个帧。当然,asm通道的意义除了拆帧组帧外,还有其他的功能,比如数据冗余等,这里就不详述了。asm通讯系统中,每个节点都定义了一个发送通道列表和一个接收通道列表。创建asm收发通道的过程其实就是往发送通道列表或接收通道列表添加记录的过程。在原来的asm通讯系统中,这两个列表里的数据都是静态配置的,在设计阶段预先定义好了、后面不能随意改动。如图1b所示,三个节点a、b和c需要互相通讯,其中每条线就相当与一条通道。其中,节点a的发送通道配置有:siddidmessageid0x100010x1000210x100010x1000220x100010x100037节点a的接收通道有:siddidmessageid0x100030x1000180x100020x100013节点b的发送通道配置有:siddidmessageid0x100020x1000130x100020x1000350x100020x100036节点b的接收通道配置有:siddidmessageid0x100010x1000210x100010x1000220x100030x100024节点c的发送通道配置有:siddidmessageid0x100030x1000180x100030x100024节点c的接收通道有:siddidmessageid0x100010x1000370x100020x1000350x100020x100036如上所描述的,在目前相关技术中,在节点启动之前就预先将上述表设计好了,且在通讯过程中是固定不变的,主要是因为各个节点的地址都是固定了,一旦某个节点的地址变了,必须修改所有与它有通讯关系的节点上的配置,否则就无法实现正常通讯了。因此,本发明实施例一方面旨在实现在光纤网络中实现动态配网,以动态组建asm收发通道,而不需要预先配置上述的关于节点的接收通道和发送通道的sid+did+messageid。如图2所示,本发明一实施例的fc-ae-asm网络数据通讯方法,包括:s11、获取自第一发布fc节点的发布请求,并解析该发布请求中所包含的第一发布主题。关于本发明实施例方法的实施主体,其可以是光纤网络中的fc交换机或fc节点卡,例如可以是通过编程的方法将处理流程写入fc交换机或fc节点卡中,以由fc交换机或fc节点卡来执行本发明实施例中的动态或实时组网的操作。其中,发布主题可以是能够标识发布fc节点的信息;另外,关于主题的具体类型,其可以是指示fcid信息(例如源fcid或目的fcid),且也还可以是其他的所预先自定义设置的信息(例如topic1、topic2等),在此应不限定。s12、判断订阅主题表中是否存在与第一发布主题相匹配的目标订阅主题,其中该订阅主题表用于统计光纤网络中的订阅fc节点及其所请求的订阅主题。作为示例,关于订阅主题表的相关细节,其可以是在光纤网络中每出现一个fc节点发出订阅请求,就将该fc节点确定为订阅fc节点,并将该订阅请求中的订阅主题与该订阅fc节点关联存储至订阅主题表中,从而在该订阅主题表中实现了对光纤网络中的订阅fc节点及其所请求的订阅主题的统计。s13、若存在,基于第一发布fc节点和目标订阅fc节点创建用于传输数据的asm收发通道。在本实施例中,通过统计了光纤网络中所有订阅fc节点和其所请求的订阅主题的订阅主题表,实现订阅主题表中对第一发布fc节点所请求的发布主题的匹配,并能够找到第一发布fc节点相对应的目标订阅fc节点,从而在订阅节点和发布节点之间创建用于传输数据的asm收发通道。由此,不需要在节点启动前完成静态配置,而是在节点启动后,通过发请求和表格查询动态地完成对发布请求的响应,找到其所对应的订阅fc节点,从而实现响应于主题发布的动态组网。在一些实施方式中,还可以是通过设置发布主题表,从而实现对光纤网络中的发布fc节点及其所请求的发布主题的统计,例如在解析第一发布请求中所包含的第一发布主题之后,将第一发布fc节点和第一发布主题更新至发布主题表。在本发明实施例中提出了利用订阅和发布匹配的方式实现了对fc节点之间关联,从而建立asm收发通道。需说明的是,同一个fc节点可以是既被配置了发布主题又被配置了订阅主题,并且在一个fc节点可以是同时订阅多个fc节点并也可以同时向多个节点或其他的节点发布主题,以实现如图1a所示的通道关联的效果。在一些实施方式中,关于asm收发通道的创建过程,其可以是通过撮合主题列表来完成的,其中撮合主题列表用于统计光纤网络中订阅与发布匹配成功的fc节点对,因此可以基于这些fc节点对来更新(包括创建或删除)asm收发通道;例如可以是基于经匹配的第一发布fc节点和目标订阅fc节点来更新撮合主题列表。另外,在撮合主题列表中还可以包括与fc节点对相对应的经匹配的发布主题和订阅主题。在一些实施方式中,还可以是应用撮合主题列表来实现对已建立的asm通道的删除,以动态管理组网过程。具体的,如图3所示的取消发布的流程,包括:s31、获取自第二发布fc节点的取消发布请求,并解析取消发布请求中的第二发布主题。s32、判断撮合主题列表中是否存在第二发布主题。s33、若存在,则确定撮合主题列表中与第二发布主题相对应的fc节点对。s34、删除fc节点对所对应的asm收发通道。由此,实现了基于撮合主题列表,响应于取消发布请求而删除asm收发通道。如图4所示,本发明一实施例的fc-ae-asm网络数据通讯方法,包括:s41、获取自第一订阅fc节点的订阅请求,并解析订阅请求中所包含的第一订阅主题。其中,订阅主题可以是能够标识订阅fc节点的信息;另外,关于主题的具体类型,其可以是指示fcid信息(例如源fcid或目的fcid),且也还可以是其他的所预先自定义设置的信息(例如topic1、topic2等),在此应不限定。s42、判断发布主题表中是否存在与第一订阅主题相匹配的目标发布主题,其中发布主题表用于统计光纤网络中发布fc节点及其所请求的发布主题。作为示例,关于发布主题表的相关细节,其可以是在光纤网络中每出现一个fc节点发出发布请求,就将该fc节点确定为发布fc节点,并将该发布请求中的发布主题与该发布fc节点关联存储至发布主题表中,从而在该发布主题表中实现了对光纤网络中的发布fc节点及其所请求的发布主题的统计。s43、若存在,则基于第一订阅fc节点与目标发布主题所对应的发布fc节点创建用于传输数据的asm收发通道。在本实施例中,通过统计了光纤网络中所有发布fc节点和其所请求的发布主题的发布主题表,实现发布主题表中对第一订阅fc节点所请求的订阅主题的匹配,并能够找到第一订阅fc节点相对应的目标发布fc节点,从而在订阅节点和发布节点之间创建用于传输数据的asm收发通道。由此,不需要在节点启动前完成静态配置,而是在节点启动后,通过发请求和表格查询动态地完成对订阅请求的响应,找到其所对应的发布fc节点,从而实现响应于主题订阅注册的动态组网。在一些实施方式中,还可以是通过设置订阅主题表,从而实现对光纤网络中的订阅fc节点及其所请求的订阅主题的统计,例如在解析第一订阅请求中所包含的第一订阅主题之后,将第一订阅fc节点和第一订阅主题更新至订阅主题表。在一些实施方式中,关于asm收发通道的创建过程,其可以是通过撮合主题列表来完成的,其中撮合主题列表用于统计光纤网络中订阅与发布匹配成功的fc节点对,因此可以基于这些fc节点对来更新(包括创建或删除)asm收发通道;例如可以是基于经匹配的第一订阅fc节点和目标发布fc节点来更新撮合主题列表。另外,在撮合主题列表中还可以包括与fc节点对相对应的经匹配的发布主题和订阅主题。在一些实施方式中,还可以是应用撮合主题列表来实现对已建立的asm通道的删除,以动态管理组网过程。具体的,如图5所示的取消订阅的流程,包括:s51、获取自第二订阅fc节点的取消订阅请求,并解析取消发布请求中的第二订阅主题。s52、判断撮合主题列表中是否存在第二订阅主题。s53、若存在,则确定撮合主题列表中与第二订阅主题相对应的fc节点对。s54、删除fc节点对所对应的asm收发通道。由此,实现了基于撮合主题列表,响应于取消订阅请求而删除asm收发通道。需说明的是,图2-3和4-5所分别描述的是针对发布请求下的和针对订阅请求下的动态组网过程,这两种组网过程不分先后,并且也还可以是同时并行进行的,且都属于本发明的保护范围内。在本发明实施例中,通过对三张表(订阅主题表、发布主题表和撮合主题列表)的维护操作,便可以实现对光纤网络中订阅请求和发布请求的响应,从而动态建立和删除asm收发通道,且操作方便易行。在本发明实施例中,用户通过上层应用操作,且只需要关心数据(或主题)本身而不用关心各节点的物理配置信息。另外,在网络中节点更换交换机端口后,通道配置数据和代码也均不用任何修改,各节点上的通讯通道依然可以根据需要动态添加或删除,对于节点上模块动态加载和节点间功能迁移都很方便。如图6a和6b所示,本发明一实施例的fc-ae-asm网络数据通讯方法中创建asm通道的原理示例,首先引入一个后台系统,这个后台系统可以位于fc交换机上或者某个节点卡上。在后台系统中定义三个表:发布主题表、订阅主题表和撮合成功的主题列表。各个通讯节点可以随时向后台系统申请注册自己需要的发布主题和订阅主题(主题发布申请和主题订阅申请不分先后顺序)。后台系统在处理主题发布和订阅注册的同时,进行主题匹配:如果发现新发布主题名和订阅主题表中某个主题名相同或者新订阅主题名跟发布主题表中某个主题名相同,则认为撮合成功,否则认为撮合失败。撮合失败的主题只记录到发布主题表或订阅主题表中,用于后续继续进行撮合;对于撮合成功的主题,则为之分配messageid,并将撮合成功的结果通知到有关的节点,后者根据这些信息动态创建通讯需要的asm收发通道。asm收发通道创建成功后,节点上的应用就可以进行数据通讯了。由此,节点通过发布主题进行数据发送,通过订阅主题进行数据接收,以订阅和发布的方式完成了数据的收发操作。如图7a和7b所示,本发明一实施例的fc-ae-asm网络数据通讯中删除asm通道的原理示例,当节点不再需要使用某个主题通讯后,可以发起取消发布/订阅的流程。该流程如下:由节点发起取消请求,后台系统收到请求后首先从发布/订阅表和撮合成功列表中删除对应的记录,然后通知相关节点删除对应的asm数据通道。节点收到通道删除通知后,从asm收发通道里删除相关的通道。在本发明实施例中,实现了对通道标识msgid的解耦,也就是用户不用再关心fc-ae-asm协议,用户调用收发数据的api时不用再指定asm协议里规定的messageid,而是直接使用主题名,就实现了在底层通讯过程中自动完成了主题名和messageid之间的映射处理和动态分配。由此,在需要注册主题、发布主题和订阅主题时都可以根据需要随时进行配置,以及在不需要的时候也可以取消注册。如图8所示,应用本发明实施例的数据传输的仿真效果图,其是在同一台pc机上利用两个子卡模拟的两个设备节点互相通讯的情况。其中,一个节点用topic_1、topic_2、topic_3进行发布,用topic_4、topic_5、topic_6进行订阅,另外一个节点用topic_4、topic_5、topic_6进行发布,用topic_1、topic2、topic_3进行订阅。之后,这两个节点撮合成功之后,两个节点分别在这些发布主题上进行图片、波形数据、字符数据的发送,另外一端就能够通过订阅主题接收并显示出来。由此,佐证了利用发布订阅机制,在后台系统中对asm通讯通道进行动态撮合,以实现数据传输的可靠性。如图9所示,本发明一实施例的fc-ae-asm网络数据通讯系统60,包括:发布主题获取单元601,用于获取自第一发布fc节点的发布请求,并解析所述发布请求中所包含的第一发布主题;订阅主题匹配单元602,用于判断订阅主题表中是否存在与所述第一发布主题相匹配的目标订阅主题,其中所述订阅主题表用于统计光纤网络中的订阅fc节点及其所请求的订阅主题;第一通道创建单元603,用于若存在,则基于所述第一发布fc节点与所述目标订阅主题所对应的订阅fc节点创建用于传输数据的asm收发通道。如图10,本发明一实施例的fc-ae-asm网络数据通讯系统70,包括:订阅主题获取单元701,用于获取自第一订阅fc节点的订阅请求,并解析所述订阅请求中所包含的第一订阅主题;发布主题匹配单元702,用于判断发布主题表中是否存在与所述第一订阅主题相匹配的目标发布主题,其中所述发布主题表用于统计光纤网络中发布fc节点及其所请求的发布主题;第二通道创建单元703,用于若存在,则基于所述第一订阅fc节点与所述目标发布主题所对应的发布fc节点创建用于传输数据的asm收发通道。关于本发明实施例的fc-ae-asm网络数据通讯系统的更多的细节可以参照上文关于方法实施例的细节的描述,并能够取得与上述的方法实施例相同或相应的技术效果,故在此便不赘述。以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-on1ymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1