一种支持异构网络交互的网关及方法

文档序号:7987544阅读:231来源:国知局
一种支持异构网络交互的网关及方法
【专利摘要】本发明公开了一种支持异构网络交互的网关和方法,网关包括主机、智能交换器。其中主机包括子网监控单元、互联网络交互单元、智能转发策略单元、第一转发表单元和第一接口单元;智能交换器包括接收单元、发送单元、输入选择单元、数据解析单元、输出端口查询单元、第二转发表单元和第二接口单元。方法为:当智能交换器接收到数据时,对所述数据进行解析,提取数据类型、目的IP等信息;根据所述数据的具体类型和目的IP,查询第二转发表所述数据的对应转发输出端口,并发送到所述输出端口;主机接收数据时,根据数据来源端口将数据发送至对应数据处理单元进行处理。本发明能够灵活的进行互联网和异构子网络数据的获取和转发。
【专利说明】一种支持异构网络交互的网关及方法
【技术领域】
[0001]本发明涉及无线通信网络和互联网络【技术领域】,更具体的说是涉及一种支持异构网络交互的网关及方法。
【背景技术】
[0002]海端网络是指以无线传感器网络为代表的物理信息感知网络,通常采用无线方式,链路质量和网络拓扑频繁变化,传输协议多样,节点资源有限;云端网络是指以Internet为代表的计算机互联网络,通常采用光纤等有线方式,链路质量稳定,协议采用单一的TCP/IP协议,资源相对丰富。网关作为海端网络的核心装置,负责整个海端网络的信息采集和网络的管理配置;同时它也是海端网络接入云端网络的接口,负责海端和云端网络的数据和管理信息传递,是海云互联的关键所在。
[0003]未来技术对网关的需求由原来的单一协议的无线传感网向异构多协议网络接入的方向转移。在未来传感网的同一个监控环境中,可能同时存在多种无线、有线的感知网络。这些网络可能应用不同的通信协议,如Zigbee、WIA、Wifi,但都需要通过同一个网关与互联网络进行互联。因此网关必须具备同时处理多协议异构网络间通讯信息的能力。现有技术采用嵌入式系统的形式,通过搭载多种接口和协议规范,实现异构网络间总线和协议的转换。但是此种方式硬件上需要布设多种接口转换电路,软件上也要实现多种协议栈,对于资源有限的嵌入式设备实现困难,并且难以保证处理的实时性和可靠性。还有些现有方法和系统是将各种类型网关连接在交换机上,上位机通过交换机实现与多协议网络的连接,该种方式虽然可以解决多协议网络的异构问题,但是交换机不支持二次开发,难以实现更高级的异构网络交互功能,并且在网络规模庞大的情况下,传输的带宽和实时性也很难保证。因此本领域技术人员迫切需要解决的技术问题是,实现一种能够在大规模、异构网络环境下进行高速、智能的网络交互功能的网关及方法。

【发明内容】

[0004]有鉴于此,本发明提供一种支持异构网络交互的网关和方法,能够支持异构网络的交互,并可根据网络请求动态、智能的分配数据的转发路径,实现异构网络间高速通信。
[0005]为实现上述目的,本发明提供了一种支持异构网络交互的网关,包括:
[0006]主机,用于所述网关的整体控制和数据处理,根据接收到的数据接口,调用对应的数据处理单元进行处理,并维护第一转发表到第二转发表的映射;
[0007]智能交换器,用于接收所述网关连接的各子网关和互联网端发送的数据,并对接收到的数据进行解析,根据所述第二转发表的路径进行所述数据的转发。
[0008]所述主机,包括数据处理单元、第一转发表单元和第一接口单元,所述数据处理单元包括子网监控单元、互联网交互单元和智能交换决策单元;
[0009]子网监控单元,用于所述网关与本地用户的交互,即将子网关上报信息以可视化形式显示给本地用户,或将本地用户指令下发到指定子网关;[0010]互联网交互单元,用于所述网关与互联网用户的交互,即将所述网关的信息提供给互联网用户,或互联网用户对所述网关所有数据的查询;
[0011]智能交换决策单元,用于根据所述子网上报的网内交互数据注册信息进行交换策略的分配,将所述分配结果存储到所述第一转发表中,将所述第一转发表映射到所述智能交换器内的所述第二转发表的动态路径转发表中;
[0012]第一转发表单元,用于存储所述智能交换决策单元对于所述网内交互数据的转发路径;
[0013]第一接口单元,用于提供所述数据处理单元和所述智能交换器的接口和数据通道,即为所述主机的每个所述数据处理单元提供I个专用的所述数据通道,使所述数据处理单元只处理所述数据通道发送的数据;提供所述主机和所述智能交换器内存的交互接口和通道。
[0014]所述智能交换决策单元,包括:
[0015]发布数据注册单元,用于提取所述子网关上报的发布数据的注册信息,并将提取完的所述发布数据的注册信息存储在发布数据注册表中;
[0016]订阅数据注册单元,用于提取所述子网关上报的订阅数据的注册信息,并将提取完的所述订阅数据的注册信息存储在订阅数据注册表中;
[0017]转发数据匹配单元,根据所述发布数据注册表和所述订阅数据注册表中信息,查找出所述发布数据和所述订阅数据相匹配的所述交互数据路径信息,并按照所述第一转发表单元的数据格式储存在所述第一转发表单元中;
[0018]转发表映射单兀,用于将主机内的第一转发表中内容,发送到智能交换器的第二转发表的动态路径转发表中;
[0019]其中,所述第一转发表单元的内容包括:发布数据ID (PubID)和订阅接口地址(SubIP);所述发布数据注册表的内容包括:所述发布数据ID (PubID)和发布接口地址(PubIP);所述订阅数据注册表的内容包括:订阅数据ID (SubID)和所述订阅接口地址(SubIP)0
[0020]所述智能交换器,包括:
[0021]接收单元,用于接收所述子网关和所述主机第一接口单元发送到所述智能交换器的数据,并缓存在接口的对应接收缓存队列中;
[0022]发送单元,用于将对应发送缓存队列的数据发送给所述子网关和所述主机的第一接口单元的对应端口;
[0023]接收选择单元,用于从所述所有接收缓存队列中选择一个队列,并将所选队列中的数据发送到数据解析单元;
[0024]数据解析单元,用于对接收到的数据进行内容解析。根据所述接收到数据的报文格式,提取查询必需信息,发送到输出端口查询单元;所述查询必需信息包括:数据源地址、目的地址、类型标识及发布数据ID (PubID);。
[0025]输出端口查询单元,用于根据所述数据解析单元提取的所述查询必需信息,查询所述第二转发表,找到所述数据的输出端口,并发送到对应的发送缓存队列中;
[0026]第二转发表单元,用于存储经过所述智能交换器的所有数据的转发路径,其中,所述转发路径包括所述第一转发表映射到所述第二转发表的所述网内交互数据的动态转发路径表和固定转发路径表;
[0027]第二接口单元,用于连接所述智能交换器和子网关。包括多个子接口单元,为每个所述子网关提供I个独立的端口,使所述智能交换器能够同时连接多个所述子网关。
[0028]所述第二转发表单元,包括:
[0029]固定转发路径表,用于存储固定的转发路径;所述固定转发路径表的内容包括:数据类型,目的IP、输出端口:
[0030]动态转发路径表,用于存储动态变化的转发路径,即所述第一转发表的在所述第二转发表的映射,与第一转发表内容完全相同。
[0031]一种交互方法,包括:
[0032]当智能交换器接收到数据时,对所述数据进行解析,提取数据类型、目的IP ;
[0033]根据所述数据的具体类型和目的IP,查询第二转发表中所述数据的对应转发输出端口,并发送到所述输出端口 ;
[0034]主机接收数据时,根据数据来源端口将数据发送至对应数据处理单元进行处理。
[0035]所述当智能交换器接收到数据时,对所述数据进行解析,提取数据类型、目的IP等信息,包括:
[0036]当接收到数据时,首先将接收到的数据缓存在接收接口的缓存队列中,等待其他单元处理;
[0037]将接收缓存队列配置优先级,根据队列的优先级,在所述接收缓存队列中选取优先级高的队列中的数据处理;
[0038]根据子网关和所述网关的通讯协议格式,分析数据包内容,提取数据包的源地址、目的地址、数据类型标识,作为方法下一步进行判断的依据;
[0039]如果所述数据包的数据类型为所述网内交互数据,还需提取所述网内交互数据的ID (PubID)0
[0040]所述根据所述数据的具体类型和目的IP,查询第二转发表所述数据的对应转发输出端口,并发送到所述输出端口,包括:
[0041]查询所述第二转发表时,如果是所述网内交互数据,查询动态转发路径表,根据提取的所述网内交互数据的ID (PubID),查找对应的目的IP,再根据所述目的地址,查找所述固定转发路径表中的所述转发输出端口 ;如果是所述第一接口单元到所述数据处理单元的数据,根据所述数据的具体类型,查询第二转发表的固定转发路径表中所述数据类型的对应转发输出端口,并发送到所述输出端口 ;如果是发送至各子网关的数据,根据所述数据的目的IP,查询第二转发表的固定转发路径表中所述目的IP的对应转发输出端口,并发送到所述输出端口。
[0042]所述主机根据数据端口来源将数据发送至对应数据处理单元进行处理,包括:
[0043]所述数据端口来源与所述数据处理单元一一对应,对应端口接收的数据将发送给对应的数据处理单元:
[0044]如果是注册数据端口,主机将数据发送至智能交换策略单元,记录注册信息并进行匹配,生成第一转发表,并将所述第一转发表映射到所述智能交换器中的所述第二转发表的所述动态转发路径表;
[0045]如果是上报数据端口,主机将数据发送至子网监控单元,进行处理;[0046]如果是互联网交互数据端口,主机将数据发送至互联网络交互单元,进行处理。
[0047]所述如果是注册数据端口,主机将数据发送至智能交换策略单元,记录注册信息并进行匹配,生成第一转发表,包括:
[0048]当主机的对应数据处理单元接收到注册数据时,判断所述注册数据的类型,如果是发布注册数据,则提取所述发布注册数据的标识PubID和源地址PublP,并保存在所述发布数据注册表中;如果是订阅注册数据,则提取所述订阅数据的标识SubID、要订阅的所述发布数据标识PubID和订阅地址SublP,并保存在所述订阅数据注册表中;根据所述发布数据标识PubID查询所述发布数据注册表,如果有记录,则生成数据匹配条目,将所述发布数据标识PubID和所述订阅地址SubIP记录在所述所述第一转发表中;所述注册数据包括,发布注册数据、订阅注册数据。
[0049]经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种支持异构网络交互的网关系统和方法,设计了能够连接现有异构子网关的网关,形成了两级网关系统,网关由主机和智能交换器组成,主机用于整个网关系统的控制和决策;连接两级网关的智能交换器,对上提供高速的接口和交互资源,能够与主机配合完成动态转发功能,对下提供多路并发接口,能够同时与各个子网关进行通讯。
[0050]本发明公开的网关系统将系统的主控设备由嵌入式设备转移到功能更加强大的PC机或服务器上,最大限度的丰富了主控制设备的资源。
[0051]设计为两级网关系统,网关处于网关系统的上层,可以规避各个子网关的异构问题。只要各个子网关和网关具有统一的接口(如以太网口),就能够相互连接。网关只用实现一种通讯协议,而不必关心所有子网关下网络的具体协议规范,实现了异构网络的异构性隔离。
[0052]处于顶层的网关成为在各子网关之上,信息汇聚的中心,能够方便获取子网关信息,由于连接在同一网关的子网关设备,往往具有空间关联性,可以利用子网关之间的时空关联性进行集中分析、决策。
[0053]网关的接口单独设计成智能交换器,智能交换器可由可编程逻辑控制器开发,结合具体的需求进行定制化设计。由于FPGA并行的处理形式,适应异构网络高速并发的数据传输特点,同时FPGA的可编程逻辑,也能够满足主机对固件接口的控制需求。
【专利附图】

【附图说明】
[0054]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0055]图1为本发明中整体网关系统的一个实施例的结构示意图;
[0056]图2为本发明一种支持异构网络交互的网关的一个实施例的结构示意图;
[0057]图3为本发明一种支持异构网络交互的网关的另一个实施例的功能单元示意图;
[0058]图4为本发明一种支持异构网络交互的方法一个实施例的流程示意图;
[0059]图5为本发明一种支持异构网络交互的方法一个实施例的数据发送流向的示意图。【具体实施方式】
[0060]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061]在本发明中,为了与现有技术中的普通网关相区别,将本发明的网关统一称为网关,将现有技术中的普通网关称为子网关,子网关所管控的网络称为子网络。
[0062]参见图1,公示出了本发明整体网关系统的一个实施例的结构示意图,整体网关系统包括,网关、子网关及其子网关所管控的网络子节点和互联网络。传统的网关作为网关的子网关,网关作为父网关,形成一个两级的网关系统。各子网关通常处于同一个监控环境中,但是子网络可能应用不同的通信协议,如Zigbee、WIA、Wifi,是一个异构网络系统,各子网络间不能进行网络交互,需通过网关进行子网络间以及子网络和互联网用户、本地用户的交互。
[0063]其中,网关作为本发明的主要内容,将做详细说明。
[0064]网关包括:主机单元101和智能交换器单元102。
[0065]主机单元101,用于网关系统的整体控制和数据处理,根据接收到数据的接口,调用对应的数据处理单元进行处理,并维护第一转发表到第二转发表的更新。其中,数据处理单元包括子网监控单元、互联网交互单元、智能交换决策单元。
[0066]需要说明的是,数据处理单元还可以根据需要添加和更改,不仅限于本发明中的几个处理单元。
[0067]其中,主机可由具有较丰富系统资源的PC机或服务器作为载体,可以支持更复杂的计算和操作管理。
[0068]智能交换器单元102,用于接收各子网关和互联网端发送的数据,并对接收到的数据进行解析,并根据第二转发表的路径进行数据的转发。能够与主机配合完成动态路由等功能,对子网关提供多路并发网络接口,能够同时与各个子网关进行通讯。
[0069]其中,智能交换器可由可编程逻辑控制器(FPGA)为载体,结合具体的需求进行定制化设计。由于FPGA并行的处理形式,适应异构网络高速并发的数据传输特点,同时FPGA的可编程逻辑,也能够满足主机的动态控制需求。
[0070]需要说明的是,网关与智能交换器通过数据总线相连接,本实施例中采用但不仅限于PCI数据总线,由于PCI总线技术为现有技术中比较成熟的总线技术,在此不做详细说明。智能交换器与子网关通过统一的接口相连,子网关和智能交换器需支持同一种通讯协议,在本实施例中采用但不仅限于RJ45以太网络接口和TCP/IP通信协议。由于以太网络接口和TCP/IP通信协议为成熟的现有技术,在此也不再说明。
[0071]对于连接在智能交换器上的子网关,本发明网关系统只需其满足具有RJ45以太网络接口和支持TCP/IP通信协议,对于子网关内的通信协议不做要求。因此,可以支持子网间不同通讯协议间的数据交互。
[0072]参见图2,示出了本发明一种支持异构网络交互的网关的结构示意图,与上一实施例的不同之处在于,在该实施例中主机单元210,具体包括:[0073]子网监控单元211,用于网关与本地用户的交互,将子网上报信息以可视化形式显示给本地用户,将本地用户指令下发到指定子网络。
[0074]互联网交互单元212,用于网关与互联网用户的交互,将网关的信息提供给互联网用户,用于互联网用户对网关所有数据的查询。
[0075]智能交换决策单元213,用于根据子网上报的网内交互数据注册信息进行交换策略的分配,并将分配结果存储到第一转发表中,并将第一转发表映射到智能交换器内的第二转发表的动态路径转发表中。
[0076]智能交换决策单元213具体的,包括:
[0077]发布数据注册单元,用于提取子网关上报的发布数据的注册信息,并将提取完的发布数据的注册信息存储在发布数据注册表中。
[0078]订阅数据注册单元,用于提取子网关上报的订阅数据的注册信息,并将提取完的订阅数据的注册信息存储在订阅数据注册表中。
[0079]转发数据匹配单元,根据发布数据注册表和订阅数据注册表中信息,查找出发布数据和订阅数据相匹配的网内交互数据路径信息,并按照第一转发表数据格式添加到第一转发表中。
[0080]转发表映射单兀,用于将主机内的第一转发表中内容,发送到智能交换器的第二转发表的动态路径转发表中。
[0081]其中,订阅数据注册表的内容包括,发布数据ID和发布接口 IP;订阅数据注册表的内容包括,订阅数据ID和订阅接口 IP。
[0082]第一转发表单元214,用于存储智能交换决策单元对于网内交互数据的转发路径。其中,第一转发表单元的内容包括,发布数据ID和订阅接口 IP;第一转发单元可以存储在一个独立的内存空间,该内存空间与智能交换器的第二转发单元的动态路径表内容、格式
完全一样。
[0083]第一接口单元215,用于提供数据处理单元和智能交换器的数据通道和管理通道。为主机的每个数据处理单元提供I个专用的数据通道,使数据处理单元只处理对应数据通道发送的数据,并提供一个管理通道,用于主机和智能交换器之间内存空间内数据的交互。
[0084]对应的,在该实施例中智能交换器单元220,具体包括:
[0085]接收单元221,用于接收子网关和主机第一接口单元发送到第二接口单元的数据,并缓存在接口的对应接收缓存队列中。
[0086]发送单元222,用于将对应发送缓存队列的数据发送给子网关和主机第一接口单元的对应端口。
[0087]接收选择单元223,用于从所有接收缓存队列中选择其中一个队列,并将所选队列中的数据发送到数据解析单元。
[0088]数据解析单元224,用于对接收到的数据进行类型解析。根据接收到数据的报文格式,提取查询必需信息,发送到输出端口查询单元。其中,查询必需信息包括,数据源地址、目的地址、类型标识位及发布数据ID等。
[0089]输出端口查询单元225,用于根据数据解析单元提取的查询必需信息信息,查询第二转发表,找到数据的输出端口,并将数据发送到输出端口的发送缓存队列。
[0090]第二转发表单元226,用于存储经过智能交换器的所有数据的转发路径,其中,转发路径包括第一转发表映射到第二转发表的网内交互数据的转发路径和固定转发路径。
[0091]具体的,包括:
[0092]固定转发路径表,用于存储固定的转发路径。其中,固定转发路径表的内容包括,数据类型,目的地址、输出端口号。
[0093]动态转发路径表,用于存储动态变化的转发路径,即第一转发表的在第二转发表的映射,与第一转发表内容完全相同。
[0094]第二接口单元227,用于连接智能交换器和子网关。包括多个子接口单元,为每个子网关提供I个独立的端口,使智能交换器能够同时连接多个子网关。
[0095]为了清楚的介绍本发明中异构网络数据交互的网关系统的结构和功能,下面一个具体实例进行介绍。参见图3,为一种支持异构网络交互的网关的另一个实施例的数据处理单元示意图。结合本发明的网关系统结构,对应图3中各单元功能具体说明。
[0096]本发明网关系统由主机、智能交换器组成,在本实施例中,由普通PC机作为主机的载体,由NetFPGA开发板(NetFPGA是美国斯坦福大学开发的,具有千兆速率(以太网RJ45接口)的可编程硬件平台)作为智能交换器的载体。通过在PC机和NetFPGA的开发,实现本发明所发明的功能和方法。
[0097]主机包括数据处理单元、第一转发表、第一接口几个部分。其中,互联网络交互单元与第一接口的I端口对应,他们之间的数据通道为第一数据通道,通道的上行数据(即智能交换器发送到主机数据处理单元的数据)称为互联网请求数据,下行数据(即主机数据处理单元发送到智能交换器的数据)称为互联网响应数据;子网监控单元与第一接口的2端口对应,他们之间的数据通道为第二数据通道,通道的上行数据称为上报数据,下行数据称为控制数据;智能交换策略单元与第一接口的3端口对应,他们之间的数据通道为第三数据通道,通道的上行数据称为注册数据,下行数据称为注册确认数据;第一转发表与第一接口的控制端口对应,他们之间的通道称为控制通道,用于内存空间数据的交互。
[0098]互联网络交互单元可以向子网监控单元获取数据,用于互联网络交互单元接收到请求时,向子网监控单元获取所需数据,然后将获取到的数据以互联网响应数据方式返回给互联网用户。
[0099]子网监控单元可以向智能交换策略单元获取数据,用于对智能交换策略单元内数据分配过程和结果的显示,便于本地用户获知交换策略的分配情况。
[0100]智能交换器包括接收选择、数据解析、输出端口查询等逻辑功能单元、接收缓存队列(RxQ)和发送缓存队列(TxQ)和第二转发表。其中PC端的接收缓存队列(PC RxQ)和发送缓存队列(PC TxQ)与主机的第一接口的各个端口对应,子网关端的接收(MAC RxQ)和发送队列(MAC TxQ)与第二接口的各个端口对应。用于缓存各个端口将发送或已接收到的数据。
[0101]第二转发表的表项参见图3,包括,数据类型、目的IP、输出端口。
[0102]下面以第二接口 4端口发送到网关的上报数据为例,说明网关系统运行的流程和方法。参见图3,灰色部分为上报数据流向。
[0103]当智能交换器的第二接口 4端口接收到子网关发送的数据D4时,将D4缓存在对应的接收缓存队列MAC4 RxQ中。
[0104]接收选择单元根据选择算法,在所有RxQ中选择一个接收缓存队列,发送到数据解析单元。其中选择算法可以为随机选择、基于优先级的选择、基于到达时间的选择等,这里采用的是基于优先级的选择算法。假设当前接收缓存队列中D4具有最高的优先级,接收选择单元将D4作为选择数据,发送给数据解析单元。
[0105]数据解析单元根据报文协议,对D4进行内容解析。提取D4的源IP地址、目的IP地址、数据类型等信息。将提取信息连同数据发送到输出端口查询单元。其中,提取信息还可以包括其他信息。其中,数据类型包括:上报数据、控制数据、注册数据、注册确认、互联网请求、互联网响应、交互数据等。
[0106]输出端口查询单元根据数据的类型,查询第二转发表。如果是交互数据,先查询动态转发路径表,根据PubID查找到对应目的IP,再查找固定转发路径表,根据目的IP,找到对应的输出端口 ;如果是上报数据、注册数据、互联网数据,则可根据数据类型,直接查找对应输出端口,而不必用目的IP ;如果是剩余的其他数据类型,则要根据目的IP,查找固定转发路径表的对应的输出端口。由于D4为上报类型数据,则根据固定转发表内上报数据的输出端口,发送到PC2 TxQ缓存队列中。
[0107]发送单元将D4通过第一接口 2端口发送到子网监控单元,子网监控单元即可对D4进行处理,或显示在用户图形界面或存储在后台数据库中,这里不做详细说明。
[0108]上述说明以上报数据为例,介绍了网关对数据的处理过程和方法,该流程和方法同样适用于其他数据类型,这里不做一一叙述。注册类型数据和交互类型数据的处理流程和方法参见图5。
[0109]参见图4,示出了本发明一种支持异构网络交互的方法的一个实施例的流程示意图,该方法包括:
[0110]步骤401:当智能交换器接收到数据时,对数据进行解析,提取数据类型、目的IP
等信息;
[0111]当接收到数据时,首先将接收到的数据缓存在接收接口的缓存队列中,等待其他
单元处理。
[0112]将接收缓存队列配置优先级,根据队列的优先级,在接收缓存队列中选取优先级高的队列中的数据处理。
[0113]根据子网关和网关的通讯协议格式,分析数据包内容,提取数据包的源地址、目的地址、数据类型标识,作为方法下一步进行判断的依据。
[0114]如果数据包的数据类型为网内交互数据,还需提取网内交互数据的ID (PubID)0其中数据包中的数据类型标识和PubID可自行约定,只要与子网关数据包形式统一即可。
[0115]步骤402:查询第二转发表,如果是网内交换数据,查询动态转发路径表,根据提取的网内交互数据的ID,查找对应的目的IP,再根据目的地址,查找固定转发路径表中的转发输出端口。
[0116]步骤403:如果是至主机功能单元的数据类型,如互联网数据、上报数据、注册数据,根据数据的具体类型,查询第二转发表的固定转发路径表中数据类型的对应转发输出端口,并发送到输出端口。
[0117]步骤404:如果是发送至各子网关的数据,根据数据的目的IP,查询第二转发表的固定转发路径表中目的IP的对应转发输出端口,并发送到输出端口。
[0118]主机接收数据时,根据数据来源端口将数据发送至对应数据处理单元进行处理。数据端口来源与数据处理单元一一对应,对应端口接收的数据将发送给对应的数据处理单元。[0119]步骤406:如果是互联网交互数据端口,主机将数据发送至子互联网络交互单元,进行处理。
[0120]步骤407:如果是注册数据端口,主机将数据发送至智能交换策略单元,记录注册信息并进行匹配,生成第一转发表,并将第一转发表映射到智能交换器中的第二转发表的动态转发路径表。
[0121]其中,注册数据包括,发布注册数据、订阅注册数据。
[0122]当主机的对应功能单元接收到注册数据时,判断注册数据的类型,如果是发布注册数据,则提取发布注册数据的标识PubID和源地址PublP,并保存在发布数据注册表中;如果是订阅注册数据,则提取订阅数据的标识SubID、要订阅的发布数据标识PubID和订阅地址SublP,并保存在订阅数据注册表中。根据发布数据标识PubID查询发布数据注册表,如果有记录,则生成数据匹配条目,将发布数据标识PubID和订阅地址SubIP记录在第一转发表中。
[0123]步骤408:如果是上报数据端口,主机将数据发送至子网监控单元,进行处理。
[0124]为了清楚的介绍本发明中异构网络数据交互的方法的具体过程,下面一个具体实例进行介绍。参见图5,为一种支持异构网络交互的方法一个实施例的数据流向的示意图。
[0125]这里为了标识明确,将数据提供节点称为发布节点或者Pub节点,下面的相关叙述都以Pub统一名称;将数据接收请求节点称为订阅节点或者Sub节点,下面的相关叙述都以Sub统一名称。
[0126]异构网络数据交换的流程分为2个步骤,包括:Pub/Sub内容注册和Pub/Sub传输。
[0127]^PuVSub 内容注册
[0128]具有Pub功能和Sub需求的节点首先要在各自的子网关中注册。
[0129]步骤501:Pub节点将自身的节点地址和注册的数据类型上报子网关。如图中子网络I中的Pub节点,子网内地址为0x0001,注册数据为温度数据,Pub节点将该信息发送给其子网关。
[0130]步骤502:子网关将接收到的Pub节点地址和类型信息与自身ID整合,生成一个唯一的PubID作为网间Pub内容的唯一标识,供Pub数据传输时使用。如图,子网关I将publ节点的上报的Pub注册信息标识为GW1_0001_WD。然后子网关将PubID注册信息发送网关。网关接收PubID连同接收PubID注册信息的网络地址PubIP保存在Pub注册信息表中。
[0131]Sub节点注册与Pub流程类似。
[0132]步骤503:在注册Sub需求时,Sub节点将自身地址和要订阅的内容信息上报子网关。
[0133]步骤504:如果同一子网内有多个Sub节点订阅时,同样适用。如图,子网4的Sub节点3和Sub节点4,订阅了子网I的Pub节点I发布的温度数据。
[0134]步骤505:子网关将接收到的Sub节点地址和自身ID信息整合,生成唯一的SubID作为网间订阅内容的标识。子网关再将SubID和其订阅PubID上报网关,网关将接收到的Sub注册信息和网络地址保存在Sub注册信息表中。
[0135]步骤506:根据Sub注册信息表中的订阅PubID查找Pub注册信息表。即查找是否有PubID为GW1_0001_WD的记录。
[0136]步骤507:如果存在已经注册的Pub内容,则将Sub订阅的地址SubIP存放在第一转发表中。由于在网关的Pub注册信息表中有GW1_0001_WD记录,则将PubID (Gffl_0001_WD)和SubIP (210.72.141.40)保存在第一转发表中
[0137]步骤508:将第一转发表映射到智能交换器的内存中第二转发表的动态转发路径表中,作为Pub/Sub的转发查询依据。
[0138].Pub/Sub 传输
[0139]参见图中实心箭头指示。
[0140]在进行Pub/Sub传输时,Pub节点将数据内容与PubID打包发送给子网关,子网关再将打包数据发送给网关。
[0141]当Pub数据到达智能交换器时,智能交换器会对数据进行硬件解析,分析数据包的类型,如果是Pub数据,根据Pub数据的格式,将PubID解析作为查找索引,在第二转发表中查找对应的出口,如果存在Sub订阅了该信息,则将Pub信息放入SubIP对应的端口输出队列中。这里由于第二转发表的动态转发路径表中已经存在PubID为GW1_0001_WD的记录,因此找到该记录对应的SubIP为210.72.141.40,再根据该IP查找固定转发路径表,找到对应输出端口,即子网关4的端口。
[0142]其中,转发表中一个PubID可以对应多个SubIP,可以实现一对多的数据传输。采用这样的方式,主机只需根据注册信息更新第一转发表并将第一转发表映射到第二转发表,而无需实时干预,智能交换器即可自动完成一对多的Pub/Sub传输。
[0143]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0144]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种支持异构网络交互的网关,其特征在于,包括: 主机,用于所述网关的整体控制和数据处理,根据接收到的数据接口,调用对应的数据处理单元进行处理,并维护第一转发表到第二转发表的映射; 智能交换器,用于接收所述网关连接的各子网关和互联网端发送的数据,并对接收到的数据进行解析,根据所述第二转发表的路径进行所述数据的转发。
2.根据权利要求1所述的网关,其特征在于,所述主机,包括数据处理单元、第一转发表单元和第一接口单元,所述数据处理单元包括子网监控单元、互联网交互单元和智能交换决策单元; 子网监控单元,用于所述网关与本地用户的交互,即将子网关上报信息以可视化形式显示给本地用户,或将本地用户指令下发到指定子网关; 互联网交互单元,用于所述网关与互联网用户的交互,即将所述网关的信息提供给互联网用户,或互联网用户对所述网关所有数据的查询; 智能交换决策单元,用于根据所述子网上报的网内交互数据注册信息进行交换策略的分配,将所述分配结果存储到所述第一转发表中,将所述第一转发表映射到所述智能交换器内的所述第二转发表的动态路径转发表中; 第一转发表单元,用于存储所述智能交换决策单元对于所述网内交互数据的转发路径; 第一接口单元,用于提供所述数据处理单元和所述智能交换器的接口和数据通道,即为所述主机的每个所述数据处理单元提供I个专用的所述数据通道,使所述数据处理单元只处理所述数据通道发送的`数据;提供所述主机和所述智能交换器内存的交互接口和通道。
3.根据权利要求2所述的网关,其特征在于,所述智能交换决策单元,包括: 发布数据注册单元,用于提取所述子网关上报的发布数据的注册信息,并将提取完的所述发布数据的注册信息存储在发布数据注册表中; 订阅数据注册单元,用于提取所述子网关上报的订阅数据的注册信息,并将提取完的所述订阅数据的注册信息存储在订阅数据注册表中; 转发数据匹配单元,根据所述发布数据注册表和所述订阅数据注册表中信息,查找出所述发布数据和所述订阅数据相匹配的所述交互数据路径信息,并按照所述第一转发表单元的数据格式储存在所述第一转发表单元中; 转发表映射单元,用于将主机内的第一转发表中内容,发送到智能交换器的第二转发表的动态路径转发表中; 其中,所述第一转发表单元的内容包括:发布数据ID(PubID)和订阅接口地址(SubIP);所述发布数据注册表的内容包括:所述发布数据ID (PubID)和发布接口地址(PubIP);所述订阅数据注册表的内容包括:订阅数据ID (SubID)和所述订阅接口地址(SubIP)。
4.根据权利要求1所述的网关,其特征在于,所述智能交换器,包括: 接收单元,用于接收所述子网关和所述主机第一接口单元发送到所述智能交换器的数据,并缓存在接口的对应接收缓存队列中; 发送单元,用于将对应发送缓存队列的数据发送给所述子网关和所述主机的第一接口单元的对应端口;接收选择单元,用于从所述所有接收缓存队列中选择一个队列,并将所选队列中的数据发送到数据解析单元; 数据解析单元,用于对接收到的数据进行内容解析。根据所述接收到数据的报文格式,提取查询必需信息,发送到输出端口查询单元;所述查询必需信息包括:数据源地址、目的地址、类型标识及发布数据ID (PubID);。 输出端口查询单元,用于根据所述数据解析单元提取的所述查询必需信息,查询所述第二转发表,找到所述数据的输出端口,并发送到对应的发送缓存队列中; 第二转发表单元,用于存储经过所述智能交换器的所有数据的转发路径,其中,所述转发路径包括所述第一转发表映射到所述第二转发表的所述网内交互数据的动态转发路径表和固定转发路径表; 第二接口单元,用于连接所述智能交换器和子网关。包括多个子接口单元,为每个所述子网关提供I个独立的端口,使所述智能交换器能够同时连接多个所述子网关。
5.根据权利要求4所述的网关,其特征在于,所述第二转发表单元,包括: 固定转发路径表,用于存储固定的转发路径;所述固定转发路径表的内容包括:数据类型,目的IP、输出端口: 动态转发路径表,用于存储动态变化的转发路径,即所述第一转发表的在所述第二转发表的映射,与第一转发表内容完全相同。
6.—种根据权利要求1-5任一项所述网关的交互方法,其特征在于,包括: 当智能交换器接收到数据时,对所述数据进行解析,提取数据类型、目的IP ; 根据所述数据 的具体类型和目的地址,查询第二转发表中所述数据的对应转发输出端口,并发送到所述输出端口 ; 主机接收数据时,根据数据来源端口将数据发送至对应数据处理单元进行处理。
7.根据权利要求6所述的方法,其特征在于,所述当智能交换器接收到数据时,对所述数据进行解析,提取数据类型、目的IP等信息,包括: 当接收到数据时,首先将接收到的数据缓存在接收接口的缓存队列中,等待其他单元处理; 将接收缓存队列配置优先级,根据队列的优先级,在所述接收缓存队列中选取优先级高的队列中的数据处理; 根据子网关和所述网关的通讯协议格式,分析数据包内容,提取数据包的源地址、目的地址、数据类型标识,作为方法下一步进行判断的依据; 如果所述数据包的数据类型为所述网内交互数据,还需提取所述网内交互数据的ID(PubID)0
8.根据权利要求6所述的方法,其特征在于,所述根据所述数据的具体类型和目的IP,查询第二转发表所述数据的对应转发输出端口,并发送到所述输出端口,包括: 查询所述第二转发表时,如果是所述网内交互数据,查询动态转发路径表,根据提取的所述网内交互数据的ID (PubID),查找对应的目的IP,再根据所述目的地址,查找所述固定转发路径表中的所述转发输出端口 ;如果是所述第一接口单元到所述数据处理单元的数据,根据所述数据的具体类型,查询第二转发表的固定转发路径表中所述数据类型的对应转发输出端口,并发送到所述输出端口 ;如果是发送至各子网关的数据,根据所述数据的目的IP,查询第二转发表的固定转发路径表中所述目的IP的对应转发输出端口,并发送到所述输出端口。
9.根据权利要求6所述的方法,其特征在于,所述主机根据数据端口来源将数据发送至对应数据处理单元进行处理,包括: 所述数据端口来源与所述数据处理单元一一对应,对应端口接收的数据将发送给对应的数据处理单元: 如果是注册数据端口,主机将数据发送至智能交换策略单元,记录注册信息并进行匹配,生成第一转发表,并将所述第一转发表映射到所述智能交换器中的所述第二转发表的所述动态转发路径表; 如果是上报数据端口,主机将数据发送至子网监控单元,进行处理; 如果是互联网交互数据端口,主机将数据发送至互联网络交互单元,进行处理。
10.根据权利要求9所述的方法,其特征在于,所述如果是注册数据端口,主机将数据发送至智能交换策略单元,记录注册信息并进行匹配,生成第一转发表,包括: 当主机的对应功能单元接收到注册数据时,判断所述注册数据的类型,如果是发布注册数据,则提取所述发布注册数据的标识PubID和源地址PublP,并保存在所述发布数据注册表中;如果是订阅注册数据,则提取所述订阅数据的标识SubID、要订阅的所述发布数据标识PubID和订阅地址SubIP,并保存在所述订阅数据注册表中;根据所述发布数据标识PubID查询所述发布数据注册表,如果有记录,则生成数据匹配条目,将所述发布数据标识PubID和所述订阅地址SubIP记录在所述第一转发表中;所述注册数据包括,发布注册数据、订阅注册数 据。
【文档编号】H04L12/741GK103873369SQ201210551906
【公开日】2014年6月18日 申请日期:2012年12月17日 优先权日:2012年12月17日
【发明者】俞雪婷, 李栋, 李志博, 曾鹏, 于海斌 申请人:中国科学院沈阳自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1