发明内容
有鉴于此,本发明解决的技术问题是提供一种楼宇***中传输信息的方法、装置和***,不仅可以实现采用不同通讯协议的终端之间的通信,而且无需对终端设备发送的信息进行解析,无需知道终端设备发送信息的具体内容,也无需理解终端设备发送信息的具体含义,从而降低了***的运行负荷。
为此,本发明提出的技术方案如下:
一种楼宇***中传输信息的方法,包括:
A、将网关收到的信息封装为数据包,并将数据包封装为数据帧,发送数据帧给交换服务器;
B、将交换服务器收到的数据帧拆封装,获得其中的数据包和数据包中所携带的源终端设备的地址;
C、根据数据包中源终端设备的地址和预置的终端设备之间的对应关系,获知相应的目标终端设备;
D、当目标终端设备属于所述交换服务器时,根据目标终端设备的地址修改数据包中源终端设备的地址,将数据包封装为数据帧并发送给相应的网关;当目标终端设备不属于所述交换服务器时,将数据包封装为数据帧发送给相应的交换服务器;
E、将网关收到的数据帧拆封装,获得其中的数据包,并将获得的数据包拆封装,将数据包中的信息发送给目标终端设备。
其中,所述终端设备的地址包括:该终端设备的端口号和该终端设备所连接的网关的IP地址。
其中,如果目标终端设备属于所述交换服务器,则将源终端设备的端口号修改为目标设备的端口号。
其中,进一步包括:
在步骤C中,获得源终端设备所对应的目标终端设备后,当目标终端设备多于一个时,复制所述数据包,使数据包的个数和目标终端设备的个数相等,针对各数据包执行步骤D。
其中,进一步包括:
预置各终端设备之间的制约关系;
当获得源终端设备的地址时,停止传输与所述源终端设备存在制约关系的终端设备发送的信息。
其中,进一步包括:
预置各终端设备的信息传输方式;
当获得源终端设备的地址时,根据所述源终端设备的信息传输方式对数据包中所携带的源终端设备发送的信息进行处理,针对处理后的信息,执行步骤C。
其中,所述终端设备的信息传输方式包括:直接传输、拆分传输和合并传输。
其中,当源终端设备的信息传输方式为拆分传输时,将源终端设备发送的信息按设定的方式拆分,并对拆分后的信息分别重新封装为数据包。
其中,当源终端设备的信息传输方式为合并传输时,暂存源终端设备发送的信息;当交换服务器收到相应的信息后,将所述暂存的信息和相应的信息进行合并,并将合并后的信息重新封装为数据包。
其中,按下述步骤将信息封装为数据包:
将数据包设置为两部分,包括:用于携带数据包信息的包头、用于携带数据信息数据段;其中,数据段包括两部分:用于携带数据的辅助控制信息的数据头、用于携带数据的数据体;
将所述网关的IP地址填进包头部分,将终端设备发送的全部信息和该终端设备的端口号分别填进数据段的数据体部分和数据头部分。
其中,在步骤E,按数据包所携带的终端设备端口号将数据包中的信息发送给相应的终端设备。
其中,进一步包括:
当终端设备发送信息给网关时,对网关收到的信息进行编号;
将所述信息的编号和网关收到所述信息的时间,填进所述信息所在数据段的数据头。
其中,按下述步骤将数据包封装为数据帧:
根据TCP/IP协议,将数据包封装为符合TCP/IP协议传输的数据帧。
其中,按下述步骤将数据包封装为数据帧:
根据UDP协议,将数据包封装为符合UDP协议传输的数据帧。
基于上述方法,本发明还提出一种楼宇***中传输信息的装置,包括:
发送转发单元,用于将网关收到的信息封装为数据包,并将数据包封装为数据帧,发送数据帧;
拆封装单元,用于将交换服务器收到的数据帧拆封装,获得其中的数据包和数据包中所携带的源终端设备的地址;
查询单元,用于根据数据包中源终端设备的地址和预置的终端设备之间的对应关系,获知相应的目标终端设备;
路由转发单元,用于在目标终端设备属于所述交换服务器时,根据目标终端设备的地址修改数据包中源终端设备的地址,将数据包封装为数据帧并发送给相应的网关;在目标终端设备不属于所述交换服务器时,将数据包封装为数据帧发送给相应的交换服务器;
接收转发单元,用于将网关收到的数据帧拆封装,获得其中的数据包,
并将获得的数据包拆封装,将数据包中的信息发送给目标终端设备。
其中,所述终端设备的地址包括:该终端设备的端口号和该终端设备所连接的网关的IP地址。
其中,所述路由转发单元包括:
网关转发单元,用于在目标终端设备属于所述交换服务器时,将源终端设备的端口号修改为目标设备的端口号,将数据包封装为数据帧并发送给相应的网关;
服务器转发单元,用于在目标终端设备不属于所述交换服务器时,将数据包封装为数据帧发送给相应的交换服务器。
其中,还包括:
复制单元,用于在查询单元获得的目标终端设备多于一个时,复制所述数据包,使数据包的个数和目标终端设备的个数相等,将各数据包发送给路由转发单元。
其中,还包括:
锁定单元,用于在拆封装单元获得源终端设备的地址时,根据预置的各终端设备之间的制约关系,停止传输与所述源终端设备存在制约关系的终端设备发送的信息。
其中,还包括:
处理单元,用于在拆封装单元获得源终端设备的地址时,根据预置的所述源终端设备的信息传输方式,对数据包中所携带的源终端设备发送的信息进行处理,将处理后的信息发送给查询单元。
其中,所述终端设备的信息传输方式包括:直接传输、拆分传输和合并传输。
其中,所述处理单元包括:
拆分单元,用于在源终端设备的信息传输方式为拆分传输时,将源终端设备发送的信息按设定的方式拆分,对拆分后的信息分别重新封装为数据包,将各数据包发送给查询单元。
其中,所述处理单元包括:
合并单元,用于在源终端设备的信息传输方式为合并传输时,暂存源终端设备发送的信息;当交换服务器收到相应的信息后,将所述暂存的信息和相应的信息进行合并,并将合并后的信息重新封装为数据包,将该数据包发送给查询单元。
其中,所述发送转发单元包括:
数据包封装单元,用于将所述网关的IP地址填进包头部分,将终端设备发送的全部信息和该终端设备的端口号分别填进数据段的数据体部分和数据头部分;
其中,数据包包括两部分:用于携带数据包信息的包头、用于携带数据信息数据段;
其中,数据段包括两部分:用于携带数据的辅助控制信息的数据头、用于携带数据的数据体。
其中,所述发送转发单元包括:
数据帧封装单元,用于根据TCP/IP协议,将数据包封装为符合TCP/IP协议传输的数据帧。
其中,所述发送转发单元包括:
数据帧封装单元,用于根据UDP协议,将数据包封装为符合UDP协议传输的数据帧。
基于上述方法,本发明还提出一种楼宇***中传输信息的***,包括终端设备、网关和交换服务器,其中,
所述网关包括:
发送转发单元,用于将终端设备发送的信息封装为数据包,并将数据包封装为数据帧,发送数据帧给交换服务器;
接收转发单元,用于将交换服务器发送的数据帧拆封装,获得其中的数据包,并将获得的数据包拆封装,将数据包中的信息发送给目标终端设备;
所述交换服务器包括:
拆封装单元,用于将网关或其他交换服务器发送的数据帧拆封装,获得其中的数据包和数据包中所携带的源终端设备的地址;
查询单元,用于根据数据包中源终端设备的地址和预置的终端设备之间的对应关系,获知相应的目标终端设备;
路由转发单元,用于在目标终端设备属于所述交换服务器时,根据目标终端设备的地址修改数据包中源终端设备的地址,将数据包封装为数据帧并发送给相应的网关;在目标终端设备不属于所述交换服务器时,将数据包封装为数据帧发送给相应的交换服务器。
其中,所述交换服务器还包括:
锁定单元,用于在拆封装单元获得源终端设备的地址时,根据预置的各终端设备之间的制约关系,停止传输与所述源终端设备存在制约关系的终端设备发送的信息。
其中,所述交换服务器还包括:
处理单元,用于在拆封装单元获得源终端设备的地址时,根据预置的所述源终端设备的信息传输方式,对数据包中所携带的源终端设备发送的信息进行处理,将处理后的信息发送给查询单元。
其中,所述终端设备的信息传输方式包括:直接传输、拆分传输和合并传输。
其中,所述处理单元包括:
拆分单元,用于在源终端设备的信息传输方式为拆分传输时,将源终端设备发送的信息按设定的方式拆分,对拆分后的信息分别重新封装为数据包,将各数据包发送给查询单元。
其中,所述处理单元包括:
合并单元,用于在源终端设备的信息传输方式为合并传输时,暂存源终端设备发送的信息;当交换服务器收到相应的信息后,将所述暂存的信息和相应的信息进行合并,并将合并后的信息重新封装为数据包,将该数据包发送给查询单元。
可以看出,采用本发明所述的方法、装置和***,无论终端设备采用何种协议发送的信息,网络侧都对终端设备发送的信息全部封装进数据包,以数据包的形式进行传输。这样,不仅可以实现采用不同通讯协议的终端设备之间的信息传输,而且无需对终端设备发送的信息进行解析,无需知道终端设备发送信息的具体内容,也无需理解终端设备发送信息的具体含义,从而降低了终端设备之间信息传输的复杂程度,并降低了***的运行负荷。
此外,本发明提供的方法和装置具有通用性,当终端设备有所调整和改变,或者部分***换到一个新的应用环境中,无需进行二次开发,从而节省了资源,降低了成本。
具体实施方式
现有的楼宇控制***包括三个部分,分别是实现各种控制策略和管理模式的应用软件,通讯网络和终端设备。其中,终端设备既可以是传感器、也可以是执行器,或者是控制器。
不同规模、功能的建筑对楼宇控制***要求不同,主要体现在传感器、执行器和控制器的选择,以及控制策略和管理模式的设计这两个方面,而通讯网络在不同的建筑中基本相同。
通讯网络是独立于传感器、执行器和控制器的通用信号传输平台,传感器、控制器都利用通讯网络传输信号。其中,所述传输的信号包括数据和控制信号。
对于通讯网络而言,传感器、执行器和控制器处于相同的层次级别,都属于通讯网络的终端设备。
本发明借鉴以太网***的思想,提出一种楼宇***中传输信息的方法,该方法基于图1所示的楼宇控制***实现。图1所示的楼宇控制***包括信息控制网络和后台服务器。
从结构上,可以将信息控制网络分为三级:路由级、接入级和用户级。
处在最上层的是由交换服务器组成的路由级设备。各交换服务器是对等的,每个交换服务器都是一个高性能的数据处理设备,可以实现数据的收集、存储、转发、派送、广播等功能,管理其收到的数据信息的传输路径。
处在中间的是由不同网关组成的接入级设备。网关与交换服务器之间的数据传输基于传输控制协议(TCP)/网际协议(IP)或用户数据包协议(UDP),通过以太网连接,不需要专门布线,也可以实现大区域,甚至整个建筑群的网络连接。
处在最下层的是由传感器、控制器或执行器等终端设备组成的用户级设备。终端设备和网关之间可以采用多种通讯标准,例如RS485、RS232、USB、以太网、ZigBee无线通讯协议等等。
网关主要的工作是将接收到的终端设备的数据打包发送到交换服务器,并将交换服务器转发的数据包解包并派发给相应的终端设备。
用户级的终端设备如传感器、控制器和执行器在数据通信时是相互对等的。它们或者是产生信息的信息源,或者是加工信息的信息汇,也有可能是信息源和信息汇两者的结合,但对于通讯网络来说,它们是相同的,都是通讯服务的对象。
终端设备和接入级设备之间的通讯协议是简单的,只涉及到OSI七层模型中物理层、数据链路层和网络层最下面三层,数据成帧、报文封装、报文寻址、顺序传递、数据重传、数据加密解密等这些传输层、会话层、表示层的功能由网关和信息定制交换服务器来完成,最上面的应用层功能预留给用户。简单的通讯协议可避免改动各用户级终端设备原有的编码协议,保证设备的兼容性,使采用不同通讯接口协议的各种终端设备都可以在该通讯网络中得到应用。用户级终端设备与接入级网关之间可采用任意一种成熟的工控总线进行连接,也可采用无线方式。
在后台服务器上运行着一些应用软件,可以用来设置网络中各终端之间的数据关系;监控运行中各终端、网关和服务器的状态,根据各种异常执行不同的异常指令;存储***中收发的所有数据,提供数据的分析、报表、查询;提供远程处理的接口,响应远程命令。
采用本发明所提供的方法,可以使通讯网络只承担和实现数据的传输,即,只提供数据的打包、封装、拆包,信息的寻址、路由,可靠的报文服务,数据的加密等功能,而不需要对各终端设备发送的数据进行解析,不需要知道终端设备发送数据的具体内容,也不需要理解终端设备发送数据的具体含义,从而减轻了通讯网络的运行负荷,并且大大降低了二次开发的难度,提高了***的通用性。
下面,结合实施例1对本发明的方法做进一步具体说明,图2是实施例1的流程图。
在步骤201中,网关收到源终端设备发送的信息时,按预设置的方式将该信息封装为数据包,并将源终端设备的地址信息添加进该数据包。其中,终端设备的地址信息由该设备的端口号和该设备所属网关的IP地址唯一地表示;数据包的格式可以如表1所示。
表1
对信息进行打包时,将源终端设备的端口号填加进表1中的“端口号”,将所述网关的IP地址填加进表1中的“源IP地址”。将源终端设备发送的全部信息填加进“正文内容”。源终端设备的地址信息由该设备的端口号和该设备所属网关的IP地址联合表示,即,通过“端口号+IP地址”唯一地表示终端设备的地址。
表1中的“数据段长度”、“属性”、“顺序号”、“正文长度”和“时间戳”都是一些辅助信息。例如,通过“属性”可以表明数据段所传输的是数据、控制信息或是其它信息。通过“顺序号”和“时间戳”可以唯一地表示该数据段。
在步骤202中,将步骤201得到的数据包封装成数据帧,并将得到的数据帧发送给交换服务器。
其中,所述数据帧既可以是符合TCP/IP协议的数据帧,也可以是符合UDP协议的数据帧。
在步骤203中,交换服务器收到数据帧时,将该数据帧拆封装,得到其中的数据包。
在步骤204中,根据数据包中源终端设备的地址信息和预置在交换服务器中的终端设备之间的对应关系,获得目标终端设备的地址信息。其中,目标终端设备的地址同样是由该设备的端口号和该设备所属网关的IP地址唯一地表示。
在步骤205中,判断目标终端设备是否属于本交换服务器。
对于不属于本交换服务器的目标终端设备,在步骤206中,复制数据包,将复制的数据包封装成数据帧,将数据帧发送给目标终端设备所在的交换服务器。目标终端设备所在的交换服务器收到数据帧后,仍然从步骤203开始执行。
对于属于本交换服务器的目标终端设备,在步骤207中,将数据包中源终端设备的端口号修改为目标终端设备的端口号后,将所述数据包封装成数据帧,将数据帧发送到目标终端设备所连接的网关。
在步骤208中,网关收到交换服务器发送的数据帧后,将该数据帧拆封装,得到其中的数据包,并对数据包进行拆包。
在步骤209中,按数据包中目标终端设备的端口号,将获得的源终端设备发送的信息,发送给目标终端设备。
结合图1,对实施例1所述的方法做更详细的说明。
在图1所示的楼宇控制***中,在交换服务器预先建立各终端设备之间的对应关系。假设,建立终端A可以发送信息给终端B和终端F,终端C可以发送信息给终端B,终端B可以发送信息给终端D和终端E。终端设备之间的对应关系可以通过映射表的形式建立、保存。在本实施例中,在交换服务器A中建立的映射表可以如表2-1所示,在交换服务器B中建立的映射表可以如表2-2所示。
表2-1
源终端设备 |
目标终端设备 |
终端A的端口+网关1的IP地址 |
终端B的端口+网关2的IP地址、交换服务器B |
终端B的端口+网关2的IP地址 |
交换服务器B |
终端C的端口+网关2的IP地址 |
终端B的端口+网关2的IP地址 |
表2-2
源终端设备 |
目标终端设备 |
终端A的端口+网关1的IP地址 |
终端F的端口+网关4的IP地址 |
终端B的端口+网关2的IP地址 |
终端D的端口+网关3的IP地址、终端E的端口+网关3的IP地址 |
这里需要指出的是:在楼宇控制***中,终端设备的数量是有限的,而且可能进行信息传输的终端设备也是可以预先确定的,例如,照明***的终端设备和安防巡更***的终端设备之间需要进行信息传输,暖通***的终端设备需要和配电***的终端设备进行信息传输。可以基于上述设计,在交换服务器预先建立终端设备之间的对应关系。
当终端A发送信息时,网关1收到终端A发送的信息后,将对终端A发送的全部信息按表1所示的方式进行打包。
网关1收到终端A发送的信息时,按表1所示的方式将该信息封装为数据包,并将终端A的端口号和网关1的IP地址添加进数据包。网关1按TCP/IP协议将得到的数据包封装成符合TCP/IP协议的数据帧,并将得到的数据帧发送给交换服务器A。或者,网关1按UDP协议将得到的数据包封装成符合UDP协议的数据帧,将得到的数据帧发送给交换服务器A。交换服务器A收到数据帧时,将该数据帧拆封装,得到其中的数据包。
交换服务器A可以获知数据包中终端A的地址信息(终端A的端口和网关1的IP地址),并根据表2-1所示的对应关系,获知应该将数据包发送给终端B和交换服务器B。
交换服务器A首先将数据包复制一份,然后,将一份数据包封装成数据帧,将数据帧发送给交换服务器B;将另一份数据包中终端设备A的端口号修改为终端设备B的端口号,将所述数据包封装成数据帧,将数据帧发送到网关2。
网关2收到交换服务器A发送的数据帧后,将该数据帧拆封装,得到其中的数据包,并对数据包进行拆包,然后,按数据包中终端设备B的端口号,将获得的终端设备A发送的信息,发送给终端设备B。
交换服务器B收到交换服务器A发送的数据帧后,可以获知数据包中终端A的地址信息,并根据表2-2所示的对应关系,获知应该将数据包发送给终端F。交换服务器B将该数据包中终端设备A的端口号修改为终端设备F的端口号,将所述数据包封装成数据帧,将数据帧发送到网关4。网关4收到交换服务器B发送的数据帧后,将该数据帧拆封装,得到其中的数据包,并对数据包进行拆包,然后,按数据包中终端设备F的端口号,将获得的终端设备A发送的信息,发送给终端设备F。
可以看出,采用实施例1所述的方法,无论终端设备采用何种协议发送数据,网络侧都对终端设备发送的数据全部封装进数据包,以数据包的形式进行传输。这样,不仅可以实现采用不同通讯协议的终端设备之间的信息传输,而且无需对终端设备发送的信息进行解析,无需知道终端设备发送信息的具体内容,也无需理解终端设备发送信息的具体含义,从而降低了***的运行负荷。
在实施例1所述的方法中,当网关收到多个终端设备发送的信息时,可以对各终端设备的信息分别进行数据打包,分别进行数据帧的封装和发送。实际中,当网关收到多个终端设备发送的信息时,也可以对各终端设备的信息分别进行数据打包,统一进行数据帧的封装和发送。交换服务器收到数据帧后,将该数据帧拆封装,得到其中的各数据包,以及各数据包中的源终端设备的地址信息。然后,根据表2-1所示的对应关系,将各数据包进行相应的处理和转发。
或者,当网关收到多个终端设备发送的信息时,对各终端设备的信息统一进行数据打包,并统一进行数据帧的封装和发送。在对多个终端设备的信息统一进行数据打包时,可以按表3的方式进行。
表3
结合图1,例如,网关2收到终端B和终端C发送的信息,在对终端B和终端C发送的信息进行数据打包时,可以按时间顺序对各信息进行编号,并将各信息的接收时间和编号分别填进“时间戳”和“顺序号”。这样,通过“时间+序号”就可以唯一地表示一个信息。将各信息所对应的终端设备的端口号分别填进相应的“端口号”,将网关2的IP地址填进“源IP地址”。这样,通过“端口号+IP地址”就可以唯一地确定各数据段的源终端设备。将终端B和终端C发送的信息作为“正文内容”,全部填进相应数据段的数据段体。
网关2将各信息进行统一的数据打包后,将该数据包封装为数据帧,然后将数据帧发送到交换服务器A。交换服务器A收到数据帧后,将该数据帧拆封装,得到其中的数据包。交换服务器A将数据包拆封装后,可以获得各数据段的源终端设备的地址信息。然后,根据表2-1所示的对应关系,将各数据段重新封装为数据包,并进行相应的处理和转发。
可以看出,将多个信息分别打包并封装在同一个数据帧,和将多个信息统一打包并封装在同一个数据帧,这两种方法都可以使交换服务器在一个数据帧获得多个信息。不同之处在于,交换服务器是否需要对各信息进行拆数据包和重新封装数据包。
在实施例1所述的方法中,终端设备之间的信息都是直接传输,即,***对源终端设备发送的信息不做任何处理,直接传输到目标终端设备。实际中,也可以对终端设备之间信息进行拆分传输,即,***将源终端设备发送的一个信息拆分为多个信息,将多个信息传输到相应的目标终端设备。或者,对终端设备之间信息进行合并传输,即,***将源终端设备发送的多个信息合并为一个信息,传输到目标终端设备。
在该方法中,应该预先设置终端设备之间的传输关系,结合图1,假设在交换服务器A中建立的包括传输关系的映射表如表4-1所示,在交换服务器B中建立的包括传输关系的映射表如表4-2所示。
表4-1
源终端设备 |
目标终端设备 |
传输关系 |
终端A的端口+网关1的IP地址 |
终端B的端口+网关2的IP地址、交换服务器B |
拆分 |
终端B的端口+网关2的IP地址 |
交换服务器B |
直传 |
终端C的端口+网关2的IP地址 |
交换服务器B |
直传 |
表4-2
源终端设备 |
目标终端设备 |
传输关系 |
终端A的端口+网关1的IP地址 |
终端F的端口+网关4的IP地址 |
直传 |
终端B的端口+网关2的IP地址、终端C的端口+网关2的IP地址 |
终端D的端口+网关3的IP地址 |
合并 |
当交换服务器A收到终端A发送的信息后,根据表4-1所示的对应关系和传输关系,对终端A发送的信息按预置方式进行拆分,例如,将终端A发送的信息的前32个比特信息发送给终端B,将其他比特信息发送给交换服务器B。
交换服务器A在对终端A发送的信息进行拆分传输时,将拆分获得的各信息分别封装成数据包,封装为数据帧发送。其中,各数据包的中的“源IP地址”和“端口号”仍然为网关1的IP地址和终端A的端口号,不同的只是数据段中的正文内容。
当交换服务器B收到终端B发送的信息时,根据表4-2所示的对应关系和传输关系,对终端B发送的信息进行暂存。当交换服务器B收到终端C发送的信息时,将终端C发送的信息和暂存的终端B发送的信息按预置的方式进行合并,然后将合并后的信息重新封装为数据包,将数据包中的端口号修改为终端D的端口号。将所述数据包封装成数据帧,将数据帧发送到网关3。
在图1所示的楼宇控制***中,如果终端A可以发送信息给终端B和终端F,终端C可以发送信息给终端B,终端B可以发送信息给终端D和终端E。
假设终端A和终端C是传感器,终端B是控制器,终端D和终端E为执行器。终端A将其采集的信息发送到终端B进行处理,终端B将处理后的信息发送到终端D执行;终端C将其采集的信息发送到终端B进行处理,终端B将处理后的信息发送到终端E执行。可以看出,终端B和终端D、终端E都有信息传输的对应关系,此时,当终端B处理完终端A或终端C发送的信息后,会将处理后的信息同时发送给终端D和终端E。很显然,这样不仅会浪费网络资源,更重要的是可能会引起终端D或终端E的误操作。
为防止上述情况发生,可以在交换服务器上增添锁定功能。通过在交换服务器上预设置各终端设备之间的制约关系,可以实现锁定功能。例如,可以预先设置终端A、终端B、终端D,和终端C、终端B、终端E之间的制约关系。
设置制约关系后,当交换服务器收到终端A发送到终端B的信息后,立即锁定终端C和终端B之间的信息传输,以及终端B和终端E之间的信息传输。这里所谓的“锁定”是指:交换服务器停止将终端C发送的信息传输给终端B,以及停止将终端B发送的信息传输给终端E。
交换服务器将终端B发送的信息转发给终端D后,再对终端C、终端B之间的信息传输,以及终端B、终端E之间的信息传输进行解锁。这样,不仅可以避免浪费网络资源,还可以避免终端设备的误操作。
同理,当交换服务器收到终端C发送到终端B的信息后,立即锁定终端A和终端B之间的信息传输,以及终端B和终端D之间的信息传输。交换服务器将终端B发送的信息转发给终端E后,再对终端A、终端B之间的信息传输,以及终端B、终端D之间的信息传输进行解锁。
基于上述的方法本发明还提出一种楼宇***中传输信息的装置,图3是该装置的示意图,该装置包括:发送转发单元31、拆封装单元32、查询单元33、路由转发单元34和接收转发单元35。发送转发单元31包括数据包封装单元311和数据帧封装单元312。路由转发单元34包括网关转发单元341和服务器转发单元342。
在终端设备向网关发送信息时,利用发送转发单元31可以将网关收到的信息封装为数据包,并将数据包封装为数据帧,并发送数据帧到交换服务器。
其中,数据包包括两部分:用于携带数据包信息的包头、用于携带数据信息数据段。数据段也包括两部分:用于携带数据的辅助控制信息的数据头、用于携带数据的数据体。
在将网关收到的信息封装为数据包时,通过数据包封装单元311将所述网关的IP地址填进包头部分,将终端设备发送的全部信息和该终端设备的端口号分别填进数据段的数据体部分和数据头部分;
在将数据包封装为数据帧时,通过数据帧封装单元312,根据TCP/IP协议,将数据包封装为符合TCP/IP协议传输的数据帧;或者,通过数据帧封装单元312,根据UDP协议,将数据包封装为符合UDP协议传输的数据帧。
当交换服务器收到网关或其他交换服务器发送的数据帧时,利用拆封装单元32,可以将交换服务器收到的数据帧拆封装,获得其中的数据包和数据包中所携带的源终端设备的地址。其中,所述源终端设备的地址包括:该终端设备的端口号和该终端设备所连接的网关的IP地址。
这里需要指出的是,所有的终端设备的地址都是由该终端设备的端口号和该终端设备所连接的网关的IP地址共同表示的。
获得数据包中的源终端设备的地址后,通过查询单元33可以根据数据包中源终端设备的地址和预置的终端设备之间的对应关系,获知相应的目标终端设备。
当目标终端设备属于所述交换服务器时,通过路由转发单元34,可以根据目标终端设备的地址修改数据包中源终端设备的地址,将数据包封装为数据帧并发送给相应的网关;当目标终端设备不属于所述交换服务器时,通过路由转发单元34,可以直接将数据包封装为数据帧发送给相应的交换服务器。
当目标终端设备属于所述交换服务器时,利用路由转发单元34中的网关转发单元341,可以将源终端设备的端口号修改为目标设备的端口号,并将数据包封装为数据帧发送给相应的网关;
当目标终端设备不属于所述交换服务器时,利用路由转发单元34中的服务器转发单元342,可以直接将数据包封装为数据帧发送给相应的交换服务器。
在将数据包封装为数据帧时,通过网关转发单元341和服务器转发单元342,可以根据TCP/IP协议将数据包封装为符合TCP/IP协议传输的数据帧;或者,根据UDP协议,将数据包封装为符合UDP协议传输的数据帧。
当网关收到交换服务器发送的数据帧时,通过接收转发单元35,可以将网关收到的数据帧拆封装,获得其中的数据包,并将获得的数据包拆封装,将数据包中的信息发送给目标终端设备。
当查询单元33获得的目标终端设备多于一个时,还需要一个复制单元,复制所述数据包,使数据包的个数和目标终端设备的个数相等,从而可以保证向每个目标终端设备都发送一个数据包。复制完数据包后,复制单元将所有的数据包都发送给路由转发单元34,由转发单元34对各数据包分别地处理转发。
利用上述装置,可以实现终端设备之间信息的直接传输,即,对源终端设备发送的信息不做任何处理,直接传输到目标终端设备。实际中,也可以对终端设备之间信息进行拆分传输,即,将源终端设备发送的一个信息拆分为多个信息,将多个信息传输到相应的目标终端设备。或者,对终端设备之间信息进行合并传输,即,将源终端设备发送的多个信息合并为一个信息,传输到目标终端设备。
为能实现多种方式传输信息,本发明提出了另一种楼宇***中传输信息的装置,图4是该装置的示意图。与图3所示的装置相比,图4所示的装置,增加了处理单元41。其中,处理单元41包括拆分单元411和合并单元412。
拆封装单元32获得源终端设备的地址时,处理单元41将根据预置的所述源终端设备的信息传输方式,对数据包中所携带的源终端设备发送的信息进行处理,将处理后的信息发送给查询单元33。
拆封装单元32获得源终端设备的地址,当源终端设备的信息传输方式为拆分传输时,利用处理单元41中的拆分单元411,可以将源终端设备发送的信息按设定的方式拆分,对拆分后的信息分别重新封装为数据包,将各数据包发送给查询单元33。
拆封装单元32获得源终端设备的地址,当源终端设备的信息传输方式为合并传输时,利用处理单元41中的合并单元412,可以暂存源终端设备发送的信息;当交换服务器收到相应的信息后,合并单元412会将所述暂存的信息和相应的信息进行合并,并将合并后的信息重新封装为数据包,将该数据包发送给查询单元33。
在图3和图4所示的装置中还可以包括锁定单元,用于在拆封装单元获得源终端设备的地址时,根据预置的各终端设备之间的制约关系,停止传输与所述源终端设备存在制约关系的终端设备发送的信息。
基于上述方法,本发明还提出一种楼宇***中传输信息的***,包括终端设备、网关和交换服务器,该***如图5所示。在该***中,网关包括发送转发单元51和接收转发单元52,交换服务器包括拆封装单元53、查询单元54和路由转发单元55。
当终端设备发送信息给网关时,网关利用发送转发单元51,可以将终端设备发送的信息封装为数据包,并将数据包封装为数据帧,发送数据帧给交换服务器。
当交换服务器发送数据帧给网关时,网关利用接收转发单元52,可以将交换服务器发送的数据帧拆封装,获得其中的数据包,并将获得的数据包拆封装,将数据包中的信息发送给目标终端设备。
交换服务器收到网关或其他交换服务器发送的数据帧时,可以利用拆封装单元53,将网关或其他交换服务器发送的数据帧拆封装,获得其中的数据包和数据包中所携带的源终端设备的地址;
然后,利用查询单元54,根据数据包中源终端设备的地址和预置的终端设备之间的对应关系,获知相应的目标终端设备。
当目标终端设备属于所述交换服务器时,所述交换服务器利用路由转发单元55,根据目标终端设备的地址修改数据包中源终端设备的地址,将数据包封装为数据帧并发送给相应的网关;当目标终端设备不属于所述交换服务器时,所述交换服务器利用路由转发单元55,直接将数据包封装为数据帧发送给相应的其他交换服务器。
在图5所示的***中,交换服务器还可以包括锁定单元,用于在拆封装单元获得源终端设备的地址时,根据预置的各终端设备之间的制约关系,停止传输与所述源终端设备存在制约关系的终端设备发送的信息。
在图5所示的***中,交换服务器还可以包括处理单元,用于在拆封装单元获得源终端设备的地址时,根据预置的所述源终端设备的信息传输方式,对数据包中所携带的源终端设备发送的信息进行处理,将处理后的信息发送给查询单元。其中,所述终端设备的信息传输方式包括:直接传输、拆分传输和合并传输。
其中,所述处理单元包括拆分单元和合并单元;所述拆分单元用于在源终端设备的信息传输方式为拆分传输时,将源终端设备发送的信息按设定的方式拆分,对拆分后的信息分别重新封装为数据包,将各数据包发送给查询单元;所述合并单元用于在源终端设备的信息传输方式为合并传输时,暂存源终端设备发送的信息;当交换服务器收到相应的信息后,将所述暂存的信息和相应的信息进行合并,并将合并后的信息重新封装为数据包,将该数据包发送给查询单元。
可以看出,采用本发明所述的方法、装置和***,无论终端设备采用何种协议发送的信息,网络侧都对终端设备发送的信息全部封装进数据包,以数据包的形式进行传输。这样,不仅可以实现采用不同通讯协议的终端设备之间的信息传输,而且无需对终端设备发送的信息进行解析,无需知道终端设备发送信息的具体内容,也无需理解终端设备发送信息的具体含义,从而降低了终端设备之间信息传输的复杂程度,并降低了***的运行负荷。
此外,本发明提供的方法和装置具有通用性,当终端设备有所调整和改变,或者部分***换到一个新的应用环境中,无需进行二次开发,从而节省了资源,降低了成本。
以上所述的实施例仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。