发明内容
本发明要解决的技术问题是提供一种控制网络中数据寻址和转发的交换服务器、系统和方法,使控制网络结构开放,简化了末端设备,节约了末端设备间通信的处理流程。
为解决上述技术问题,本发明提供一种控制网络中数据寻址和转发的交换服务器,包括:
存储单元,用于存储标识末端设备ID与末端设备地址间对应关系的设备映射关系表,以及标识源、汇信息节点地址信息对应关系的源汇关系表,所述汇信息节点地址信息包括:交换服务器地址、末端设备ID及信息节点号;
第一处理单元,用于接收源信息节点发送的数据包,并查询所述存储单元保存的源汇关系表,获得并输出汇信息节点对应的交换服务器地址、末端设备的ID及信息节点号;
第二处理单元,用于获得汇信息节点对应的交换服务器地址、汇末端设备的ID及信息节点号,并在汇信息节点对应的交换服务器地址为本交换服务器地址时,根据汇信息节点对应的末端设备的ID查询所述存储单元中的设备映射关系表,获得该末端设备地址,并向该地址发送携带汇信息节点号的数据包。
其中,上述源汇关系表中,源信息节点地址包括:末端设备ID及信息节点号;
上述第一处理单元,还用于在接收源信息节点发送的数据包后,获得该源信息节点对应的末端设备地址,并根据该末端设备地址查询所述设备映射关系表,确定该末端设备ID,并根据该末端设备ID查询所述源汇关系表。
其中,在一交换服务器本地保存的源汇关系表中,若一汇信息节点对应的交换服务器为外部交换服务器,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该外部交换服务器的外部地址,或者与该外部交换服务器级联的网关交换服务器的外部地址;
上述第一处理单元,还用于向汇信息节点对应的交换服务器地址发送携带汇末端设备ID及汇信息节点号的数据包。
上述存储单元还保存有所述网关交换服务器内外地址映射关系的内外地址映射表;
上述第二处理单元,还用于根据所述网关交换服务器的外部地址,在接收到外部发送的数据包后,查询所述内外地址映射表,获得所述网关交换服务器的内部地址,供所述网关交换服务器进行后续内部处理。
其中,在一交换服务器本地保存的源汇关系表中,若一汇信息节点对应的交换服务器为该交换服务器或与该交换服务器级联的交换服务器,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该交换服务器的地址。
其中,上述存储单元还保存有本交换服务器及与其级联的交换服务器的下级末端设备是否允许与源信息节点通信的通信许可关系表;
所述第二处理单元还用于判断汇信息节点是否允许接收源信息节点的数据包,若是,则向汇信息节点对应的交换服务器的地址发送携带汇末端设备ID及汇信息节点号的数据包。
其中,上述交换服务器还包括第三处理单元;所述源信息节点发送的数据包包括有:包类型字段,用于控制汇信息节点是否要返回应答数据包;
所述第三处理单元,用于接收汇信息节点根据包类型字段返回的应答数据包,并将所述应答数据包转发出去。
其中,上述存储单元还保存有会话标识对应关系表,用于记录源信息节点地址信息、源设备维护的会话ID、汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID;
所述第三处理单元,根据所述应答数据包获得汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID,并查询所述会话标识对应关系表,获得该会话对应的源信息节点地址信息、源设备维护的会话ID,并将所述源设备维护的会话ID携带在所述应答数据包中返回给所述源信息节点。
为解决上述技术问题,本发明还提供一种控制网络中数据寻址和转发的系统,包括末端设备、交换服务器,所述交换服务器接入局域网,所述末端设备包括源信息节点和/或汇信息节点,所述源信息节点用于发送数据包,所述汇信息节点用于接收数据包;
所述交换服务器包括:
存储单元,用于存储标识末端设备ID与末端设备地址间对应关系的设备映射关系表,以及标识源、汇信息节点地址信息对应关系的源汇关系表,所述汇信息节点地址信息包括:交换服务器地址、末端设备ID及信息节点号;
第一处理单元,用于接收源信息节点发送的数据包,并查询所述存储单元保存的源汇关系表,获得并输出汇信息节点对应的交换服务器地址、末端设备的ID及信息节点号;
第二处理单元,用于获得汇信息节点对应的交换服务器地址、汇末端设备的ID及信息节点号,并在汇信息节点对应的交换服务器地址为本交换服务器地址时,根据汇信息节点对应的末端设备的ID查询所述存储单元中的设备映射关系表,获得该末端设备地址,并向该地址发送携带汇信息节点号的数据包。
其中,所述系统还包括网关,用于接收所述末端设备发送的数据包,并将所述数据包按照预定协议封装后发送到所述交换服务器,以及将所述交换服务器转发的数据包发送到相应的末端设备。
其中,上述源汇关系表中,源信息节点地址包括:末端设备ID及信息节点号;
上述第一处理单元,还用于在接收源信息节点发送的数据包后,获得该源信息节点对应的末端设备地址,并根据该末端设备地址查询所述设备映射关系表,确定该末端设备ID,并根据该末端设备ID查询所述源汇关系表。
其中,在一交换服务器本地保存的源汇关系表中,若一汇信息节点对应的交换服务器为外部交换服务器,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该外部交换服务器的外部地址,或者与该外部交换服务器级联的网关交换服务器的外部地址;
上述第一处理单元,还用于向汇信息节点对应的交换服务器地址发送携带汇末端设备ID及汇信息节点号的数据包。
其中,上述存储单元还保存有所述网关交换服务器内外地址映射关系的内外地址映射表;
上述第二处理单元,还用于根据所述网关交换服务器的外部地址,在接收到外部发送的数据包后,查询所述内外地址映射表,获得所述网关交换服务器的内部地址,供所述网关交换服务器进行后续内部处理。
其中,在一交换服务器本地保存的源汇关系表中,若一汇信息节点对应的交换服务器为该交换服务器或与该交换服务器级联的交换服务器,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该交换服务器的地址。
其中,上述存储单元还保存有本交换服务器及与其级联的交换服务器的下级末端设备是否允许与源信息节点通信的通信许可关系表;
上述第二处理单元还用于判断汇信息节点是否允许接收源信息节点的数据包,若是,则向汇信息节点对应的交换服务器的地址发送携带汇末端设备ID及汇信息节点号的数据包。
其中,上述交换服务器还包括第三处理单元;
所述源信息节点发送的数据包包括有:包类型字段,用于控制汇信息节点是否要返回应答数据包;
所述第三处理单元,用于接收汇信息节点根据包类型字段返回的应答数据包,并将所述应答数据包转发出去。
其中,上述存储单元,还保存有会话标识对应关系表,用于记录源信息节点地址信息、源设备维护的会话ID、汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID;
上述第三处理单元,根据所述应答数据包获得汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID,并查询所述会话标识对应关系表,获得该会话对应的源信息节点地址信息、源设备维护的会话ID,并将所述源设备维护的会话ID携带在所述应答数据包中返回给所述源信息节点。
为解决上述技术问题,本发明还提供一种控制网络中数据寻址和转发的方法,包括如下步骤:
控制网络中的源信息节点的上级交换服务器接收所述源信息节点发送的数据包,并查询本地保存的源汇关系表,获得并输出汇信息节点对应的交换服务器地址、末端设备的ID及信息节点号;
所述汇信息节点对应的交换服务器根据汇信息节点对应的末端设备的ID查询本地保存的设备映射关系表,获得该末端设备地址,并向该末端设备地址发送携带汇信息节点号的数据包。
其中,上述控制网络中的源信息节点的上级交换服务器接收所述源信息节点发送的数据包的步骤之后,还包括:
获得该源信息节点对应的末端设备地址,并根据该末端设备地址查询本地保存的设备映射关系表,确定该末端设备ID,并根据该末端设备ID查询所述源汇关系表。
其中,上述源汇关系表中,若一汇信息节点对应的交换服务器为外部交换服务器时,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该外部交换服务器的外部地址、或者与该外部交换服务器级联的网关交换服务器的外部地址。
其中,上述交换服务器中还保存有标识网关交换服务器内外地址映射关系的内外地址映射表;
控制网络中的汇信息节点对应的交换服务器接收数据包后,还包括:
根据所述网关交换服务器的外部地址,查询所述内外地址映射表,获得所述网关交换服务器的内部地址。
其中,上述源汇关系表中,若一汇信息节点对应的交换服务器为该交换服务器或者与该交换服务器级联的交换服务器时,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该交换服务器的地址。
其中,上述交换服务器还保存有本交换服务器及与其级联的交换服务器的下级末端设备是否允许与源信息节点通信的通信许可关系表;
向该末端设备地址发送携带汇信息节点号的数据包的步骤之前还包括:
判断汇信息节点是否允许接收源信息节点的数据包,若是,则向汇信息节点对应的交换服务器的地址发送携带汇末端设备ID及汇信息节点号的数据包。
其中,上述源信息节点发送的数据包包括有:包类型字段;
向该末端设备地址发送携带汇信息节点号的数据包的步骤之后还包括:
接收所述汇信息节点根据包类型字段返回的应答数据包。
其中,上述控制网络中汇信息节点对应的交换服务器还保存有会话标识对应关系表,用于记录源信息节点地址信息、源设备维护的会话ID、汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID;
接收所述汇信息节点根据包类型字段返回的应答数据包的步骤之后还包括:
根据所述应答数据包获得汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID,并查询所述会话标识对应关系表,获得该会话对应的源信息节点地址信息、源设备维护的会话ID,并将所述源设备维护的会话ID携带在所述应答数据包中返回给所述源信息节点。
通过上述技术方案,末端设备的信息节点不需要知道数据的最终汇信息节点的地址,汇末端设备的信息节点仅从网络中的交换服务器接收数据,也不需知道数据的最初源信息节点的地址,从而简化了末端设备;并且,源汇关系表中保存的信息为交换服务器IP、末端设备ID及节点号,并不包括具体网关的IP、端口号等信息,这样就使得网关的IP、端口号等信息相对其他的交换服务器不可见,这些信息都隐藏了起来,在对这些信息进行更改的时候,不需要对源汇关系表中的信息重新进行配置;另外,由于源汇关系表中保存的是设备ID,而非末端设备的地址,因此,不需要对设备和网关进行绑定,节约了处理流程。
具体实施方式
为使本发明的要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的控制网络中,设备之间的数据传输关系固定,系统结构封闭,末端设备寻址和转发数据流程麻烦的问题,提供一种控制网络中数据寻址和转发的交换服务器、系统和方法。
如图2所示,本发明实施例的控制网络中数据寻址和转发的系统包括:末端设备、网关和交换服务器,交换服务器与交换机连接,图中示出的交换机的作用是搭建局域网,其中:
末端设备,包括一个或者多个信息节点,信息节点与末端设备相应的输入输出物理量一一对应,各信息节点分别具有各自的地址,与输入物理量对应的末端设备信息节点接收相应的物理量并进行处理,与输出物理量对应的末端设备信息节点发送相应的物理量;
信息节点,是根据控制网络系统中传输的信息抽象出来的节点,与末端设备相应的输入输出物理量一一对应,例如,温度传感器具有一个输出物理量:温度测量值,则温度传感器也相应的包括与该物理量唯一对应的用于输出温度测量值的信息节点,该信息节点为源信息节点;冷机具有一个输入物理量,温度设置值,则冷机也相应的包括与该物理量唯一对应的用于接收设定值的信息节点,该信息节点为汇信息节点;信息节点用于发送或者接收与其相应输入输出物理量对应的信息并进行相应处理;输入输出物理量作为末端设备的基础操作单元,具有输入输出的数据流方向,每个输入输出物理量与信息节点一一对应;由此可以看出,末端设备可以包括源信息节点,用于发送数据包,也可以包括汇信息节点,用于接收数据包,也可以既包括源信息节点又包括汇信息节点。
网关,本实施例中,与末端设备通过有线方式连接,用于进行交换服务器与末端设备间的数据转发,多个网关组成了智能控制网络系统的接入级设备,网关是交换服务器与各个末端设备之间进行数据传输的枢纽,网关接收末端设备发送的数据包,并将数据包按照预定协议封装后发送到交换服务器,或者将交换服务器转发的数据包发送到相应的末端设备;这里的预定协议可以为以太网传输协议(如IEEE802.3标准以太网传输协议)或者其他类型的传输协议,在具体实现时,末端设备可以直接与交换服务器连接,不利用网关进行转发。
交换服务器是控制网络系统中的路由设备,下行与多个网关连接,上行接入局域网,具体可为与交换机连接,交换机与交换服务器之间也遵循IEEE802.3标准以太网传输协议,如图3所示,交换服务器具体包括:
存储单元,用于存储标识本交换服务器下的末端设备ID与末端设备地址间对应关系的设备映射关系表,以及标识源、汇信息节点地址信息对应关系的源汇关系表;
源汇关系表中的信息标识各末端设备信息节点间的源汇关系,而源汇关系,是指各个末端设备间信息的一种传输关系。例如,灯头控制端输出亮度设置值的信息节点和灯头接收端接收该亮度设置值的信息节点之间的源汇关系为:灯头控制端输出亮度设置值的信息节点为源信息节点(设定源),灯头接收端接收该亮度设置值的信息节点为汇信息节点(设定汇);如下表A所示:
源信息节点地址信息 |
汇信息节点地址信息 |
源交换服务器地址+源末端设备的ID+源信息节点号(192.168.1.16+2+20) |
汇交换服务器地址+汇末端设备的ID+汇信息节点号(192.168.1.32+12+10) |
...... |
...... |
表A
该源汇关系表中的源、汇信息节点的地址信息包括:对应交换服务器的地址、对应末端设备的ID以及源/汇信息节点号。
由于在源汇关系表中,并不包括具体网关的内部系统IP、端口号等信息,这样就使得网关的IP、端口号等信息相对其他的交换服务器不可见,所以交换服务器需要增加一个设备映射关系表,以进行相应信息的转换;如下表B所示:
末端设备ID |
网关的内部系统IP |
端口号 |
2 |
192.168.1.17 |
2 |
...... |
...... |
...... |
表B
该设备映射关系表包括:对应末端设备的ID、对应网关的地址信息以及网关的与末端设备连接的端口号信息,其中,上述末端设备地址是指与末端设备连接的网关的地址信息和该网关的与末端设备连接的端口号信息。
第一处理单元,用于接收控制网络中网关发送的封装数据包,而该封装数据包是指:控制网络中源信息节点发送给网关,并由网关按照传输协议进行封装得到的数据包;第一处理单元在接收到封装数据包之后,并对封装数据包进行解析,获得与源末端设备连接的网关的内部IP地址信息以及该网关的与末端设备连接的端口号信息,并根据该网关的端口号信息以及网关的内部IP地址信息,查询设备映射关系表,确定源末端设备的ID,并根据源末端设备的ID查询源汇关系表,获得汇末端设备中的汇信息节点对应的交换服务器地址、末端设备的ID及信息节点号,并向按照汇信息节点对应的交换服务器地址发送携带汇末端设备ID及汇信息节点号的数据包;
在具体实现时,源末端设备的ID可以携带在源末端设备发出的数据包中,在这种情况下,则不需要交换服务器查询设备映射关系表来确定源末端设备的ID。
第二处理单元,用于获得汇信息节点对应的交换服务器地址、汇末端设备的ID及信息节点号,并在汇信息节点对应的交换服务器地址为本交换服务器地址时,根据汇信息节点对应的末端设备的ID查询存储单元中的设备映射关系表,获得该末端设备地址(包括与末端设备连接的网关的内部地址以及该网关的与末端设备连接的端口号信息),并向该网关的内部地址以及该网关的与末端设备连接的端口号信息发送携带汇信息节点号的数据包;
第三处理单元用于接收汇信息节点根据包类型字段返回的应答数据包,并根据汇信息节点返回的应答数据包获得汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID,查询上述会话标识对应关系表,获得该会话对应的源信息节点地址信息、源设备维护的会话ID,并将源设备维护的会话ID携带在应答数据包中返回给源信息节点。
上述交换服务器既可作为源交换服务器也可作为汇交换服务器。
下面结合具体实例和图2来说明本发明的控制网络中数据寻址和转发的系统的具体工作过程:
图2中,该系统包括多个末端设备、四个网关、三个交换服务器和一个交换机,其中,交换机用于搭建局域网,其下连接有三个交换服务器,交换机与交换服务器之间的通信遵循IEEE802.3的标准以太网协议,交换服务器1和交换服务器3直接与交换机连接,交换服务器2与交换服务器1为级联服务器,通常情况下,小区内的每个住户都有一台交换服务器供其使用,在住户房屋面积太大或者有其他具体需要时,每个住户可以使用两台或以上的交换服务器,在本实施例中,在每个住户室内安装多个交换服务器的情况下,该多个交换服务器可以采用级联的方式(如交换服务器1、2),只有其中的一个交换服务器直接与交换机连接,该与交换机连接的交换服务器可以称为网关交换服务器,但在各级联交换服务器内部通信时,各级联交换服务器的地位等同;交换服务器1下连接有网关1和网关2,交换服务器2下连接有网关3,交换服务器3下连接有网关4,网关1、2、3、4下分别连接有末端设备;
如果末端设备1需要与末端设备5进行通信,则相关设备信息如下:
交换服务器1的内部系统IP为:192.168.1.16;交换服务器2的内部系统IP为:192.168.1.32;网关1的内部系统IP为:192.168.1.17;网关3的内部系统IP为:192.168.1.33;末端设备1为控制面板,该控制面板具有查询灯头端状态信息并进行显示的功能,与网关1的端口2有线连接,末端设备1的ID为2,且该末端设备1查询设备状态信息的信息节点的节点号为20;末端设备5为灯头端,灯头端具有根据控制端(可以是控制面板)对灯光进行调解的功能,并能够反馈其状态信息,灯头端与网关3的端口1有线连接,末端设备5的ID为12,且末端设备5查询状态信息的信息节点的节点号为10;图2中其他设备未参与以下描述的通信过程,故略去其他设备的具体信息;
在本实例中,控制面板查询灯头端状态信息的通信过程包括以下步骤:
步骤S101,控制面板向其上级网关(网关1)发送状态查询数据包;
其中,包类型字段与会话ID是应用层协议中的内容,包类型字段,用于控制所述汇信息节点在接收到交换服务器转发的数据包后,是否要返回应答数据包;包类型字段可以为0、1、2、3、4、5、6,分别标识0:无应答请求包(单包)、1:有应答请求包(单包)、2:有应答请求包(多包)、3:应答包(单包)、4:多段ACK;5:表示异常;6:表示拒绝;7:应答包(多包)。
鉴于此,交换服务器还接收汇信息节点根据包类型字段返回的应答数据包,并将该应答数据包转发给相应的源信息节点。
会话ID由会话接受者的上级交换服务器和会话发起者维护,会话接受者的上级交换服务器中保存有会话标识对应关系表,并对会话ID进行维护,会话标识对应关系表用于记录源信息节点地址信息、源设备维护的会话ID、汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID,可以如表1所示:
源节点地址信息 |
源设备维护的会话ID |
汇节点地址信息 |
汇交换服务器维护的会话ID |
源交换服务器地址+源末端设备ID+源节点号 |
N |
汇网关地址+汇末端设备ID+汇节点号 |
M |
表1
其中,N和M分别为源设备和汇交换服务器为相应会话分配的ID号,源交换服务器与源网关分别为源末端设备的上级交换服务器与网关;汇交换服务器与汇网关分别为汇末端设备的上级交换服务器与网关。
汇交换服务器根据汇信息节点返回的应答数据包获得汇信息节点地址信息、汇交换服务器维护的会话ID,并查询上述会话标识对应关系表,获得该会话对应的源信息节点地址信息、源设备维护的会话ID,并将源设备维护的会话ID携带在应答数据包中返回给源信息节点。
例如:一个交换服务器先后接收到来自末端设备A和末端设备B发起的两个会话,且末端设备A和末端设备B给自己发起的会话分配的会话ID都是1,两个会话的目标末端设备ID也都为1,当这两个会话到该交换服务器时,该交换服务器分别为这两个会话分配会话ID为1、2,以对两个会话进行区分。
步骤S102,网关1在接收到控制面板发送的状态查询数据包后,向其上级交换服务器(即交换服务器1)发送符合其二者间通信协议的状态查询数据包;
网关1向交换服务器1发送的数据包具体可以为:
步骤S103,交换服务器1接收到网关1发送的状态查询数据包后,根据源末端设备上级网关的端口号和网关的内部系统IP(该IP可通过解析接收到的数据包的包头获得,该数据包具体可以为UDP包),查询本地保存的设备映射关系表,确定源末端设备ID;
交换服务器1中保存的设备映射关系表具体可以如表2所示:
末端设备ID |
网关的内部系统IP |
端口号 |
2 |
192.168.1.17 |
2 |
...... |
...... |
...... |
表2
可见,查询表2可以得出,源末端设备ID为2。
步骤S104,交换服务器1根据源末端设备ID查询本地保存的源汇关系表,获得汇信息节点对应的地址信息,具体可以包括交换服务器IP、末端设备ID及信息节点号;交换服务器1中的源汇关系表具体可以如表3所示:
源信息节点地址信息 |
汇信息节点地址信息 |
192.168.1.16+2+20 |
192.168.1.32+12+10 |
...... |
...... |
表3
可见,查询表2可以得出,目的末端设备的上级交换服务器为交换服务器2,目的末端设备ID为12,汇信息节点号为10。在具体实现时,当末端设备与网关以及网关与交换服务器之间为有线连接时,该“源信息节点地址信息”中可以不包括相应交换服务器的地址。
步骤S105,交换服务器1向交换服务器2发送符合其二者通信协议的状态查询数据包;
交换服务器1向交换服务器2发送的数据包具体可以为:
步骤S106,交换服务器2接收到交换服务器1发送的状态查询数据包后,根据目的末端设备ID查询本地保存的设备映射关系,确定目的末端设备(即汇末端设备)对应的网关(即网关3)IP及相应端口号,为会话分配新的会话ID并将相应会话信息保存到本地保存的会话标识对应关系表;
交换服务器2中保存的设备映射关系表具体可以如表4所示:
设备ID |
网关的内部系统IP |
端口号 |
12 |
192.168.1.33 |
1 |
...... |
...... |
...... |
表4
可见,根据表4,可以确定出目的末端设备的上级网关的内部系统IP为192.168.1.33,且汇末端设备与该网关连接的端口号为1。
在本实例中,交换服务器2为会话分配新的会话ID为9,则交换服务器2中保存的会话标识对应关系表可以如表5所示:
源节点信息 |
源设备维护的会话ID |
汇节点信息 |
汇交换服务器维护的会话ID |
192.168.1.16+2+20 |
1 |
192.168.1.33+12+10 |
9 |
...... |
...... |
...... |
...... |
表5
在具体实现时,交换服务器2中可以配置通信许可关系表,即其下哪些被控末端设备(或节点)可以接受外部控制,则可以在交换服务器2接收到交换服务器1发送的状态查询数据包后,先根据目的设备ID(或节点号)查询该被控末端设备(或节点)是否接受外部控制,若是,则继续后续步骤;否则,不对该目的末端设备ID(或节点)进行相应控制。这样处理可以增强各被控末端设备(或节点)的安全性,并且可以根据需要确定某被控末端设备(或节点)是否允许外部控制,使得控制更加灵活便利。
步骤S107,交换服务器2根据网关3的IP,向网关3发送符合其二者通信协议的状态查询数据包,该数据包中携带目的末端设备与网关3连接的端口号;
交换服务器2向网关3发送的数据包具体可以为:
步骤S108,网关3通过其端口1向目的末端设备(灯头端)发送符合其二者通信协议的状态查询数据包;
该状态查询数据包具体可以为:
步骤S109,灯头端节点号为10的信息节点(即查询状态信息的信息节点)接收到网关3发送的状态查询数据包后,由于该数据包的包类型字段为1,即有应答请求包(单包),需要向网关3返回应答数据包,该数据包中携带灯头端的状态信息;
在其他实例中,如果该数据包的包类型字段为0,即无应答请求包(单包),则不需要向网关3返回应答数据包,直接根据获得的数据包进行相应处理即可。
该响应数据包具体可以为:
网关-末端设备有线连接 |
00 |
节点号=10 |
包类型字段=3 |
会话ID=9 |
数据=0x6400 |
步骤S110,网关3接收到该应答数据包后,向交换服务器2发送符合其二者通信协议的应答数据包;
该应答数据包具体可以为:
步骤S111,交换服务器2接收到网关3发送的应答数据包后,查询本地保存会话标识对应关系表(上述表5),获得该会话发起者的信息;
该发起会话发起者的信息为:源交换服务器地址为192.168.1.16,源末端设备ID为2,源信息节点号为20。
步骤S112,交换服务器2根据获得的会话发起者的信息,将应答数据包返回给控制面板中节点号为20的信息节点;具体的数据包格式可参见各实体间的协议包格式,这里不再赘述。
上述流程描述了级联的交换服务器(交换服务器1和交换服务器2)的下级末端设备之间的通信过程,在通信过程发生在交换服务器1和交换服务器3的下级末端设备之间时,该通信流程会与上述流程有所区别。
在允许非级联的两个交换服务器的下级末端设备之间存在控制关系的情况下,一交换服务器本地保存的源汇关系表中,若一汇信息节点对应的交换服务器为外部交换服务器时,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该外部交换服务器的外部IP、或者与该外部交换服务器级联的网关交换服务器的外部IP。这里的外部交换服务器(本实例中指交换服务器3)既不是本交换服务器,也不是与本交换服务器级联的交换服务器。在确定汇信息节点地址信息后,根据对应交换服务器的外部IP发送信息。
汇信息节点的上级网关交换服务器本地还可以保存内外地址映射表和通信许可关系表,其中,内外地址映射表中保存网关交换服务器的内部系统IP及外部IP之间的映射关系,通信许可关系表中保存本网关交换服务器及与其级联的交换服务器(如果存在的情况下)的下级末端设备是否允许受外来信息的控制或者是否允许与外部某设备(或节点)进行通信。
下面,对汇信息节点对应的交换服务器地址为外部交换服务器的外部IP的情况作举例说明,以末端设备6为另一灯头端为例,当控制面板(末端设备1)要查询末端设备6的状态信息时,交换服务器1所查询的本地保存的源汇关系表中,汇信息节点对应的交换服务器的地址应该是交换服务器3的外部IP(如202.198.0.3),交换服务器1在确定该地址非内部系统IP后,查询本地的内外地址映射表,获得交换服务器1的外部IP(如202.198.0.1),则交换服务器1向交换服务器3发送的数据包具体可以为:
其中,各末端设备的外部ID和内部ID可以相同也可以有所区别,外部节点号和内部节点号也是如此,当他们有所区别的情况下,该内外地址映射表中(或者另一个单独的表中)应当保存各个内部外部信息间的映射关系。现在以外部ID和内部ID、外部节点号和内部节点号分别相同为例进行描述。
交换服务器3接收到交换服务器1发送的状态查询数据包后,对其接收的数据包进行解析,获得汇末端设备的ID和汇信息节点号,还可根据目的末端设备ID及汇信息节点号查询通信许可关系表,判断该节点是否允许接收该源信息节点的信息,若否,直接结束,若是,查询本地的内外地址映射表,获得交换服务器3的内部系统IP,进行后续处理,该后续处理与级联交换服务器间的通信相同,不再赘述。
下面,对汇信息节点对应的交换服务器地址为与该外部交换服务器级联的网关交换服务器的外部IP的情况作举例说明,以交换服务器3下的末端设备7,和与交换服务器1(网关交换服务器)级联的交换服务器2下的末端设备5进行通信为例,交换服务器3本地保存的源汇关系表中,末端设备7的相应信息节点对应的汇信息节点地址信息中保存的交换服务器地址为交换服务器1的外部IP,而非交换服务器2的地址,并保存了末端设备5的ID。末端设备7的数据包通过与该末端设备7连接的网关4发送至交换服务器3;交换服务器3按照上述末端设备1与末端设备6通信的方式封装数据包,将封装后的数据包发送至交换服务器1;
交换服务器1在接收到交换服务器3发送的数据包之后,对数据包进行解析,获得该交换服务器1的外部IP,然后根据其外部IP查询保存在本地的内外地址映射表,获得该交换服务器1的内部IP,然后按照上述交换服务器1与交换服务器2之间转发数据的流程进行后续内部处理;
另外,交换服务器1根据末端设备5的ID查询本地保存的设备映射关系表,则可以获知末端设备5的地址,该地址可以标识出末端设备5为交换服务器2、网关3的下级,交换服务器1则可以将相应数据包发送给末端设备5的相应汇信息节点。
当然交换服务器1在接收到交换服务器3发送的数据包后,也可以对数据包解析后,获得汇末端设备的ID和汇信息节点的编号信息,并查询通信许可关系表,判断汇信息节点是否允许接收源信息节点的数据包,若是,则进行后续处理,否则直接丢弃该数据包。
由于只有网关交换服务器可能收到外部来的数据包,因此,在非网关交换服务器上,可以不保存通信许可关系表,不进行相应判断。
可见,这样处理,既可以允许外部对内部末端设备进行控制,又可以避免外部对内部末端设备的任意控制,增强了各被控末端设备(或节点)的安全性,并且可以根据需要确定某被控末端设备(或节点)是否允许外部控制,使得控制更加灵活便利。
另外,交换服务器本地保存的源汇关系表中,若一汇信息节点对应的交换服务器为本交换服务器或者与本交换服务器级联的交换服务器时,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:本交换服务器的地址。
由于在本发明实施例中,仅网关交换服务器中保存源汇关系表,则从上段描述可以看出,对于与网关交换服务器级联的交换服务器的下级末端设备的汇信息节点来说,在源汇关系表中,其对应的交换服务器地址是网关交换服务器的地址,而非其直接上级交换服务器的地址。而这些汇信息节点的具体地址,可以通过查找设备映射关系表获得。
通过本发明提供的数据寻址和转发流程,控制面板的信息节点并不需要知道数据的最终汇信息节点的地址;同理,汇末端信息节点仅从网络中的交换服务器接收数据,并不需知道数据的最初源信息节点的地址,从而简化了末端设备;并且,由于在本实施例中,源汇关系表中保存的信息为交换服务器IP、末端设备ID及节点号,并不包括具体网关的IP、端口号等信息,这样就使得网关的IP、端口号等信息相对其他的交换服务器不可见,这些信息都隐藏了起来,在对这些信息进行更改的时候,不需要对源汇关系表中的信息重新进行配置;另外,由于源汇关系表中保存的是设备ID,而非末端设备的地址,因此,不需要对设备进行绑定,节约了处理流程。
另外,由于定义了多种包类型字段,则控制网络中的通信方式进一步的完善,而由于接受会话的交换服务器维护会话标识对应关系表,使得应答数据包不需要再查询源汇关系表,降低交换服务器的数据处理量,提高通信效率。
再如图3所示,本发明还提供一种控制网络中的交换服务器,包括:
存储单元,用于存储标识末端设备ID与末端设备地址间对应关系的设备映射关系表和具有源、汇信息节点地址信息对应关系的源汇关系表;
第一处理单元,用于接收控制网络中网关发送的封装数据包,该封装数据包是指:控制网络中源信息节点发送给网关的数据包,由网关按照传输协议进行封装得到的;第一处理单元在接收到封装数据包后,并对该封装数据包进行解析,获得与源末端设备连接的网关的内部IP地址信息以及该网关的与末端设备连接的端口号信息,并根据网关的端口号信息以及网关的内部IP地址信息,查询设备映射关系表,确定源末端设备的ID;并根据源末端设备的ID查询源汇关系表,获得汇信息节点对应的交换服务器地址、末端设备的ID及信息节点号,并向汇信息节点对应的交换服务器地址发送携带汇末端设备ID及汇信息节点号的数据包;
第二处理单元,用于获得汇信息节点对应的交换服务器地址、汇末端设备的ID及信息节点号,并在汇信息节点对应的交换服务器地址为本交换服务器地址时,根据汇信息节点对应的末端设备的ID查询存储单元中的设备映射关系表,获得该末端设备地址(包括与末端设备连接的网关的内部地址以及该网关的与末端设备连接的端口号信息),并向该网关的内部地址以及该网关的与末端设备连接的端口号信息发送携带汇信息节点号的数据包。
其中,如上述表B所示,设备映射关系表包括:对应末端设备的ID、对应网关的内部系统地址信息以及与对应末端设备连接的网关的端口号信息。
如上述表A所示,所述源汇关系表中,源、汇信息节点地址信息包括:对应交换服务器的地址信息、对应末端设备的ID以及源/汇信息节点的编号信息;但在末端设备与网关以及网关与交换服务器有线连接时,源信息节点地址信息可以不包括交换服务器的地址信息。
当发生通信的两个末端设备分别处于两个级联交换服务器下时,上述汇信息节点对应的交换服务器的地址信息为:交换服务器的内部IP地址;当发生通信的两个末端设备分别处于非级联的两个交换服务器下时,汇信息节点对应的交换服务器的地址信息应当为:交换服务器的外部IP地址;当发生通信的两个末端设备处于同一个交换服务器下时,汇信息节点对应的交换服务器的地址信息可以没有,也可以为本交换服务器的内部IP地址。
当汇信息节点对应的交换服务器的地址信息为:交换服务器的外部IP地址时,上述存储单元还用于存储内外地址映射表,该内外地址映射表包括:网关交换服务器内外地址映射关系,或者网关交换服务器及与其级联的交换服务器的内部地址信息及外部地址信息之间的映射关系。
上述存储单元还用于存储通信许可关系表,该通信许可关系表包括:本交换服务器及与其级联的交换服务器的下级末端设备是否允许受外来信息的控制或者是否允许与外部信息节点进行通信;第二处理单元还用于根据汇末端设备的ID和汇信息节点的编号信息判断控制网络中的汇末端设备的汇信息节点是否允许接收源信息节点的数据包,若是,则查询内外地址映射表,获得本交换服务器的内部地址信息和/或与本交换服务器级联的交换服务器的内部地址信息。
另外,在上述源信息节点以及网关发送的数据包中包括有:包类型字段,用于控制汇信息节点在接收到交换服务器转发的数据包后,是否要返回应答数据包;相应的,上述交换服务器还包括第三处理单元,存储单元中还保存有会话标识对应关系表,并对会话ID进行维护,会话标识对应关系表如上述表1所示,用于记录源信息节点地址信息、源设备维护的会话ID、汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID;第三处理单元用于接收汇信息节点根据包类型字段返回的应答数据包,并根据汇信息节点返回的应答数据包获得汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID,查询上述会话标识对应关系表,获得该会话对应的源信息节点地址信息、源设备维护的会话ID,并将源设备维护的会话ID携带在应答数据包中返回给源信息节点。
如图4所示,本发明的实施例还提供一种控制网络中数据寻址和转发的方法,包括如下步骤:
控制网络中的源信息节点的上级交换服务器接收所述源信息节点发送的数据包,并查询本地保存的源汇关系表,获得并输出汇信息节点对应的交换服务器地址、末端设备的ID及信息节点号;
所述汇信息节点对应的交换服务器根据汇信息节点对应的末端设备的ID查询本地保存的设备映射关系表,获得该末端设备地址,并向该末端设备地址发送携带汇信息节点号的数据包。
具体实现时的流程如下:
步骤S41、源信息节点向与该源信息节点所在的末端设备连接的网关发送数据包,网关对接收到的数据包按照预定协议封装后,如可以采用IEEE802.3标准以太网传输协议对数据包进行封装,将封装数据包发送给与该网关连接的上级交换服务器;
步骤S42、该交换服务器接收网关发送的封装数据包后,对封装数据包进行解析,获得网关的与源末端设备连接的端口号信息以及该网关的地址信息;
步骤S43、该交换服务器根据网关的端口号信息以及网关的地址信息查询设备映射关系表,确定源末端设备的ID;
步骤S44、该交换服务器根据源末端设备的ID查询具有源、汇信息节点地址对应关系的源汇关系表,获得汇信息节点的地址信息,汇信息节点的地址信息包括:汇信息节点对应的交换服务器地址、末端设备的ID及信息节点号;
步骤S45、该交换服务器按照汇信息节点的地址信息将数据包的内容重新封装后转发给汇信息节点对应的交换服务器;
步骤S46、汇信息节点对应的交换服务器接收到数据包后,根据汇末端设备的ID,查询保存在该交换服务器上的设备映射关系表,确定汇信息节点所在的末端设备地址(包括末端设备对应连接的网关的地址以及该网关的与该末端设备连接的端口号);
步骤S47、汇信息节点对应的交换服务器根据该网关的地址及端口号向汇网关发送符合二者通信协议的数据包;
步骤S48、网关接收到数据包后,向末端设备的汇信息节点发送数据包,汇信息节点接收到数据包后,根据数据包的包类型字段,确定是否向其上级网关返回应答数据包,若需要向其上级网关返回应答数据包,则通过其上级网关以及上级交换服务器将应答数据包返回至源信息节点,否则步骤结束;该步骤中的包类型字段,用于控制汇信息节点在接收到交换服务器转发的数据包后,是否要返回应答数据包;包类型字段可以为0、1、2、3、4、5、6,分别标识0:无应答请求包(单包)、1:有应答请求包(单包)、2:有应答请求包(多包)、3:应答包(单包)、4:多段ACK;5:表示异常;6:表示拒绝;7:应答包(多包)。
上述步骤S43中,源/汇交换服务器中保存的设备映射关系表包括:末端设备的ID、与末端设备连接的网关的地址信息以及该网关的与末端设备连接的端口号信息。
上述步骤S43中的源汇关系表中,源、汇信息节点地址信息包括:对应交换服务器的地址信息、对应末端设备的ID以及该信息节点的编号信息,在末端设备与网关以及网关与交换服务器有线连接时,源信息节点地址信息可以不包括交换服务器的地址信息。
上述交换服务器的地址信息可以为:交换服务器的内部地址或者交换服务器的外部地址,当发生通信的两个末端设备分别处于两个级联的交换服务器下时,上述汇信息节点对应的交换服务器的地址信息为:交换服务器的内部IP地址即可,当发生通信的两个末端设备分别处于非级联的两个交换服务器下时,汇信息节点对应的交换服务器的地址信息应当为:交换服务器的外部IP地址;当发生通信的两个末端设备处于同一个交换服务器下时,汇信息节点对应的交换服务器的地址信息可以没有,也可以为本交换服务器的内部IP地址。
上述步骤S44中,源汇关系表中若一汇信息节点对应的交换服务器为外部交换服务器时,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该外部交换服务器的外部地址、或者与该外部交换服务器级联的网关交换服务器的外部地址;
源汇关系表中若一汇信息节点对应的交换服务器为该交换服务器或者与该交换服务器级联的交换服务器时,则该源汇关系表的汇信息节点地址信息中,该汇信息节点对应的交换服务器地址为:该交换服务器的地址。
当上述交换服务器的地址信息为交换服务器的外部地址时,步骤S44与步骤S45之间还包括:
根据汇信息节点的地址信息中的交换服务器的地址信息查询内外地址映射表,获得源信息节点的上级交换服务器的外部地址信息;
相应的,步骤S45具体为:按照源信息节点的上级交换服务器的外部IP地址信息以及汇信息节点对应的交换服务器的外部IP地址信息将数据包的内容重新封装后转发出去。
具体实现时,上述按照源信息节点的上级交换服务器的外部IP地址信息以及汇信息节点对应的交换服务器的外部IP地址信息将数据包的内容重新封装后转发出去的步骤之后还包括:汇信息节点对应的交换服务器接收数据包,并查询通信许可关系表,判断汇信息节点是否允许接收源信息节点的数据包,若是,查询内外地址映射表,获得汇信息节点对应的交换服务器的内部地址信息,并根据汇信息节点对应的交换服务器的内部地址信息将数据包转发出去,若否,则结束步骤。
上述步骤S48中,汇信息节点若需要向其上级网关返回应答数据包,则与该上级网关连接的交换服务器接收汇信息节点通过网关根据包类型字段返回的应答数据包,并根据应答数据包获得汇信息节点地址信息、汇信息节点对应的交换服务器维护的会话ID,并查询会话标识对应关系表,获得该会话对应的源信息节点地址信息、源设备维护的会话ID,并将源设备维护的会话ID携带在该应答数据包中返回给源信息节点。
上述方法中,将数据的寻址和转发处理集中到网络中的交换服务器设备上,末端设备仅和对应的交换服务器进行通信,不对数据进行寻址,在实现末端设备充分互联互通的基础上,源汇关系表中保存的信息为交换服务器IP、末端设备ID及节点号,并不包括具体网关的IP、端口号等信息,这样就使得网关的IP、端口号等信息相对其他的交换服务器不可见,这些信息都隐藏了起来,在对这些信息进行更改的时候,不需要对源汇关系表中的信息重新进行配置;另外,由于源汇关系表中保存的是设备ID,而非末端设备的地址,因此,不需要对末端设备和网关进行绑定,节约了处理流程。
另外,由于定义了多种包类型字段,控制网络中的通信方式进一步得到完善,由于接受会话的交换服务器维护会话标识对应关系表,使得应答数据包不需要再查询源汇关系表,降低交换服务器的数据处理量,提高通信效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。