本发明涉及通信技术领域,具体涉及一种基于端口映射技术的iec104通信代理服务方法、装置和系统。
背景技术:
现有嵌入式装置iec104服务与主站通信大多是通过在两者之间直接建立通信连接实现的。在电力系统通信领域,iec104在通信终端一般作为服务端,iec104主站作为客户端,在主站配置通信终端ip,向对应通信终端发起建立连接并进行通信。
当iec104通信终端用于提供给主站连接的ip不固定或动态变化时,主站无法做出适配向不固定的ip建立连接。在现有通过一对服务端/客户端的端到端连接实现iec104功能的背景下,针对某些应用场景,只能通过获取服务端/客户端代码并进行相关修改来实现。
申请号为cn201610029331.7的中国发明专利申请公开了一种面向电力iec104规约的tcp透明代理实现方法,有效地解决了iec104报文信息明文传输的安全性问题,提高了报文传输的可靠性。该方法包括如下步骤:s1,客户端网关加密设备获取iec104客户端发送的带序列号的报文信息,发送给服务器网关加密设备,进而发送给iec104服务器;s2,客户端网关加密设备生成网关序列号和服务器网关加密设备建立隧道,并不定时自主向服务器网关加密设备传送带网关序列号的通信报文;s3,iec104客户端发送带序列号的报文信息,客户端网关加密设备根据序列号生成网关序列号并对报文信息进行加密,组合生成处理信息,传送给服务器网关加密设备;s4,服务器网关加密设备对网关序列号进行反处理并对报文信息进行解密,将解密后的报文信息传送给iec104服务器。
申请号为cn201110205048.2的中国发明专利申请公开了一种iec104通信规约转发中实现数据交换的方法及系统。通过子站将接收的i帧报文转发至终端或主站,并对其帧序号匹配,解决了该通信规约中帧序号不匹配及子站与多个终端使用该通信规约通信阻塞的问题。该方法为:1,创建接收管理线程、发送管理线程及接收队列和发送队列;2,接收终端和/或主站所发送的报文;3,根据接收者ip地址判定该报文来自终端还是主站,且标识终端和主站的类型及id号;4,根据报文的控制域字节判断报文是否为该通信规约的i帧,若是,则转5,若否,则返回2;5,读取并解析i帧报文,并对其帧序号匹配;6,将匹配后的i帧报文存储在发送队列;7,读取i帧报文,并将其发送至携带标识的终端或主站。通过子站将接收的i帧报文转发至终端或主站,并对其帧序号匹配。
上述方法,或采用传统的iec客户端和服务器直接通信,或在iec客户端和服务器中间增加客户端设备和服务器设备,构建iec104报文通信通道。iec客户端和服务器中间增加的设备通道功能的实现需要客户端/服务器程序配合,无法做到不修改客户端和服务器的程序。
技术实现要素:
(一)发明目的
本发明的目的是提供一种基于端口映射技术的iec104通信代理服务方法、装置和系统,用于解决iec104通信终端ip不固定时使用iec104的问题,同时通过通信代理的方式,通信终端和主站软件部分不需要做任何修改,只针对性的实现代理部分就可以满足多种应用场景的需求。
(二)技术方案
为解决上述问题,本发明的第一方面提供了一种基于端口映射技术的iec104通信代理服务方法,在主站代理端执行,包括:
接受终端代理发起的连接请求并建立连接;
接收终端代理发送的iec通信终端id信息;
建立所述iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表;
接受iec主站发起的连接请求,所述连接请求中包含iec主站根据所述端口映射表确定的待通信iec通信终端对应的虚拟ip信息;
根据待通信iec通信终端对应的虚拟ip信息,建立iec主站与主站代理之间的通信通道,以通过所述通信通道接收iec主站发送的数据信息,并将所述数据信息发送给对应的终端代理。
具体地,所述接受终端代理发起的连接请求并建立连接,包括:
接受多个终端代理发起的连接请求并建立连接,一个终端代理对应一个iec通信终端。
具体地,所述建立所述iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表包括:
显示iec通信终端id信息和虚拟ip信息,以使用户手动选择iec通信终端id信息和虚拟ip信息的对应关系,根据选择的iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表;或者
基于预设规则建立所述iec通信终端id信息和虚拟ip信息的对应关系,动态生成端口映射表。
进一步地,建立所述iec通信终端id信息和虚拟ip信息的对应关系之前,还包括:
显示虚拟ip信息设置界面,以使用于手动输入虚拟ip信息;或者
根据预设规则动态生成虚拟ip信息。
本申请的第二方面,提供了一种基于端口映射技术的iec104通信代理服务方法,在终端代理端执行,包括:
向iec通信终端发起连接请求;
建立连接后,获取iec通信终端的iec通信终端id信息;
向主站代理发起连接请求,以在建立连接后将所述iec通信终端id信息发送给主站代理,以使主站代理执行上述任一项在主站代理端执行的所述的通信代理服务方法。
本申请的第三方面,提供了一种嵌入式装置,位于主站侧,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序包括主站程序和主站代理程序,所述处理器与所述存储器相耦合,所述处理器执行所述主站代理程序时上述在主站代理端执行的任一项所述的通信代理服务方法,执行所述主站程序时实现向主站代理发起连接请求,并通过建立的通信通道向主站代理发送含有iec通信终端id的数据信息。
本申请的第四方面,提供一种嵌入式装置,位于终端侧,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序包括iec通信终端程序和终端代理程序,所述处理器与所述存储器相耦合,所述处理器执行所述终端代理程序时实现在终端代理端执行的所述的通信代理服务方法,执行所述iec通信终端程序时实现接收终端代理发送的连接请求并建立连接,与终端代理进行数据交互。
本申请的第五方面,提供一种通信代理服务装置,位于主站侧,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现在主站代理端执行的任一项所述的通信代理服务方法。
本申请的第六方面,提供了一种通信代理服务装置,位于终端侧,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现在终端代理端执行的所述的通信代理服务方法。
本申请的第七方面,提供了一种基于端口映射技术的iec104通信代理服务系统,包括主站侧设备和终端侧设备,其中:
所述主站侧设备包括上述主站侧嵌入式装置,或者所述主站侧设备包括iec主站和上述主站侧通信代理服务装置;
所述终端侧设备包括上述终端嵌入式设备,或者所述终端侧设备包括iec终端设备和上述终端侧通信代理服务装置。
(三)有益效果
本发明的上述技术方案具有如下有益的技术效果:
本发明的通信代理服务方法首先通过在iec通信终端和主站之间加入终端代理和主站代理来建立通信代理通道,建立通信代理通道后,根据终端代理上送的通信终端id信息,在主站代理侧建立端口映射表,将虚拟ip与终端id信息对应,主站可以通过不同的虚拟ip和终端id信息,通过上述建立的通信代理通道与各个通信终端通信。本发明的通信代理服务方法在通信终端ip不固定的情况下也可以通过代理方式与主站建立连接,针对多种不同的应用场景,通过代理方式可以做到不修改通信终端和主站的程序。
附图说明
图1是本发明提供的一种在主站代理端执行的基于端口映射技术的iec104通信代理服务方法流程图;
图2是本发明提供的一种基于端口映射技术的iec104通信代理服务系统示意图;
图3是本发明实施例提供的基于端口映射技术的iec104通信代理服务方法原理示意图;
图4是本发明一具体实施例提供的基于端口映射技术的iec104通信代理服务系统示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
参见图1,本发明提供了一种基于端口映射技术的iec104通信代理服务方法,在主站代理端执行,包括:
步骤101:接受终端代理发起的连接请求并建立连接;
步骤102:接收终端代理发送的iec通信终端id信息;
步骤103:建立所述iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表;
具体地,主站代理可以根据接收到的终端id生成虚拟ip地址,然后将终端id与虚拟ip信息对应。
步骤104:接受iec主站发起的连接请求,所述连接请求中包含iec主站根据所述端口映射表确定的待通信iec通信终端对应的虚拟ip信息;
步骤105:根据待通信iec通信终端对应的虚拟ip信息,建立iec主站与主站代理之间的通信通道,以通过所述通信通道接收iec主站发送的数据信息,并将所述数据信息发送给对应的终端代理。
具体地,iec主站可以通过系统中设置的通向虚拟ip的路由信息或者生成虚拟ip时固有的联通机制,从而与虚拟ip建立连接并通信。在一可选实施例中,端口映射表中iec通信终端id与虚拟ip信息的对应关系通过配置方式预置到iec主站。在其他实施例中也可以由iec主站向主站代理发送待通信iec通信终端id由主站代理返回对应的虚拟ip地址,本发明不做限定。
在一可选实施例中,通信终端的iec104为服务端,主站的iec104为客户端;本发明终端代理包含两个客户端,主站代理包含两个服务端。终端代理的客户端分别与通信终端和主站代理的服务端建立连接,主站代理的服务端分别接受终端代理和主站客户端发起的连接。终端代理将终端id信息传送至主站代理,不同的通信终端具有不同的终端id。在主站代理部分建立端口映射表,用不同的虚拟ip信息与通信终端id对应。
本发明的通信代理服务方法首先通过在iec通信终端和主站之间加入终端代理和主站代理来建立通信代理通道,建立通信代理通道后,根据终端代理上送的通信终端id信息,在主站代理侧建立端口映射表,将虚拟ip与终端id信息对应,主站可以通过不同的虚拟ip和终端id信息,通过上述建立的通信代理通道与各个通信终端通信。本发明的通信代理服务方法在通信终端ip不固定的情况下也可以通过代理方式与主站建立连接,针对多种不同的应用场景,通过代理方式可以做到不修改通信终端和主站的程序。
具体地,所述接受终端代理发起的连接请求并建立连接,包括:
接受多个终端代理发起的连接请求并建立连接,一个终端代理对应一个iec通信终端。
如图2所示,每个通信终端具有不同的终端id,每个通信终端都对应一个终端代理,多个终端代理可以同时与主站代理多对一建立连接。
具体地,所述端口映射表可以是手动创建并维护的静态表,也可以是基于一定规则动态生成并维护管理的动态表,在一可选实施例中,所述建立所述iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表,包括:显示iec通信终端id信息和虚拟ip信息,以使用户手动选择iec通信终端id信息和虚拟ip信息的对应关系;根据选择的iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表。在另一可选实施例中,基于预设规则建立所述iec通信终端id信息和虚拟ip信息的对应关系,动态生成端口映射表,当通信终端变化时,主站代理同步更新端口映射表,实现端口映射表的动态维护管理。
进一步地,虚拟ip信息可以手动设置也可以动态生成,在系统中具有相关的路由信息可以使得通信连接链路畅通即可。在一可选实施例中,建立所述iec通信终端id信息和虚拟ip信息的对应关系之前,显示虚拟ip信息设置界面,以使用于手动输入虚拟ip信息。在另一可选施例中,建立所述iec通信终端id信息和虚拟ip信息的对应关系之前,根据预设规则动态生成虚拟ip信息。
本发明还提供了一种基于端口映射技术的iec104通信代理服务方法,在终端代理端执行,包括:
步骤201:向iec通信终端发起连接请求;
步骤202:建立连接后,获取iec通信终端的iec通信终端id信息;
具体地,终端代理可以把通信终端的装置序列号作为id信息,或者在所组成系统中能够标识通信终端唯一性的信息都可以作为id信息来使用。
步骤203:向主站代理发起连接请求,以在建立连接后将所述iec通信终端id信息发送给主站代理,以使主站代理执行上述任一项在主站代理端执行的所述的通信代理服务方法。
本发明还提供了一种嵌入式装置,位于主站侧,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序包括主站程序和主站代理程序,所述处理器与所述存储器相耦合,所述处理器执行所述主站代理程序时上述在主站代理端执行的任一项所述的通信代理服务方法,执行所述主站程序时实现向主站代理发起连接请求,并通过建立的通信通道向主站代理发送含有iec通信终端id的数据信息。
本发明还提供了一种嵌入式装置,位于终端侧,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序包括iec通信终端程序和终端代理程序,所述处理器与所述存储器相耦合,所述处理器执行所述终端代理程序时实现在终端代理端执行的所述的通信代理服务方法,执行所述iec通信终端程序时实现接收终端代理发送的连接请求并建立连接,与终端代理进行数据交互。
本发明还提供了一种通信代理服务装置,位于主站侧,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现在主站代理端执行的任一项所述的通信代理服务方法。
本发明还提供了一种通信代理服务装置,位于终端侧,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现在终端代理端执行的所述的通信代理服务方法。
本发明装置实施例与方法实施例对应,具体描述及效果参见方法实施例,在装置实施例中不再赘述。
本申请的第七方面,提供了一种基于端口映射技术的iec104通信代理服务系统,包括主站侧设备和终端侧设备,其中:
所述主站侧设备包括上述主站侧嵌入式装置,或者所述主站侧设备包括iec主站和上述主站侧通信代理服务装置;
所述终端侧设备包括上述终端侧嵌入式设备,或者所述终端侧设备包括iec终端设备和上述终端侧通信代理服务装置。
在一具体实施例中,主站侧设备包括iec主站和主站侧通信代理服务装置,所述终端侧设备包括iec终端设备和终端侧通信代理服务装置,参见图3,该系统的通信代理服务方法包括以下步骤:
s1、主站侧通信代理服务装置以设置的ip和端口接受终端侧通信代理服务装置发起的连接请求,并成功建立连接;
s2、主站侧通信代理服务装置接收终端侧通信代理服务装置发送的含有终端id信息的报文;
s3、主站侧通信代理服务装置接收报文并解析终端id信息之后,在装置上以运行容器的方式将容器ip地址和解析的终端id信息对应,建立端口映射表保存映射关系;
s4、iec主站根据所需通信的通信终端,向端口映射表中该通信终端id对相应的ip地址发起连接请求;
s5、主站侧通信代理服务装置接受主站连接请求,成功建立连接;
s6、在整个连接通道建立完成之后,主站侧通信代理服务装置与终端侧通信代理服务装置进行交互和信息传递,依据端口映射表对应关系区分不同的通信终端,实现通信终端和主站的通信。
在本实施例中,以运行容器的方式生成虚拟ip信息并与终端id映射,也可以采用其他方式生成虚拟ip信息,只需在系统中配置通向虚拟ip的路由,保证通信链路畅通。
在另一具体实施例中,参见图4,主站侧设备包括iec主站和主站侧通信代理服务装置,所述终端侧设备为物联代理终端:
p1、在物联代理终端上运行iec104(服务端)服务,部署终端代理软件模块;
p2、终端代理软件向终端本地ip和iec104服务端口(2404)发起并建立连接;
p3、终端代理软件通过4g模组和sim卡进行拨号,成功拨号后向远方主站代理发起并建立连接;
p4、终端代理软件通过p3中建立连接将终端id信息发送给主站代理;
p5、在整个连接通道建立完成之后,终端代理软件与主站代理进行交互和信息传递,实现通信终端和主站的通信。
在本实施例中,终端代理是以软件模块的方式部署并运行在通信终端上,通信终端具有4g通信模块和sim卡,与主站通过无线方式通信。主站侧通信代理服务装置具备固定公网ip地址。
本发明的通信代理服务装置和嵌入式装置相配合,在iec104服务端和主站之间建立代理通道,可以丰富iec104的应用场景,解决iec104通信终端ip不固定时使用iec104的问题,同时通过代理的方式,不需要修改通信终端和主站软件部分,针对应用场景只实现代理部分就可满足应用需求。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
1.一种基于端口映射技术的iec104通信代理服务方法,在主站代理端执行,其特征在于,包括:
接受终端代理发起的连接请求并建立连接;
接收终端代理发送的iec通信终端id信息;
建立所述iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表;
接受iec主站发起的连接请求,所述连接请求中包含iec主站根据所述端口映射表确定的待通信iec通信终端对应的虚拟ip信息;
根据待通信iec通信终端对应的虚拟ip信息,建立iec主站与主站代理之间的通信通道,以通过所述通信通道接收iec主站发送的数据信息,并将所述数据信息发送给对应的终端代理。
2.根据权利要求1所述的通信代理服务方法,其特征在于,所述接受终端代理发起的连接请求并建立连接,包括:
接受多个终端代理发起的连接请求并建立连接,一个终端代理对应一个iec通信终端。
3.根据权利要求1所述的通信代理服务方法,其特征在于,所述建立所述iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表包括:
显示iec通信终端id信息和虚拟ip信息,以使用户手动选择iec通信终端id信息和虚拟ip信息的对应关系,根据选择的iec通信终端id信息和虚拟ip信息的对应关系,生成端口映射表;或者
基于预设规则建立所述iec通信终端id信息和虚拟ip信息的对应关系,动态生成端口映射表。
4.根据权利要求1所述的通信代理服务方法,其特征在于,建立所述iec通信终端id信息和虚拟ip信息的对应关系之前,还包括:
显示虚拟ip信息设置界面,以使用于手动输入虚拟ip信息;或者
根据预设规则动态生成虚拟ip信息。
5.一种基于端口映射技术的iec104通信代理服务方法,在终端代理端执行,其特征在于,包括:
向iec通信终端发起连接请求;
建立连接后,获取iec通信终端的iec通信终端id信息;
向主站代理发起连接请求,以在建立连接后将所述iec通信终端id信息发送给主站代理,以使主站代理执行权利要求1~4任一项所述的通信代理服务方法。
6.一种嵌入式装置,其特征在于,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序包括主站程序和主站代理程序,所述处理器与所述存储器相耦合,所述处理器执行所述主站代理程序时实现权利要求1~4任一项所述的通信代理服务方法,执行所述主站程序时实现向主站代理发起连接请求,并通过建立的通信通道向主站代理发送含有iec通信终端id的数据信息。
7.一种嵌入式装置,其特征在于,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序包括iec通信终端程序和终端代理程序,所述处理器与所述存储器相耦合,所述处理器执行所述终端代理程序时实现权利要求5所述的通信代理服务方法,执行所述iec通信终端程序时实现接收终端代理发送的连接请求并建立连接,与终端代理进行数据交互。
8.一种通信代理服务装置,其特征在于,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现权利要求1~4任一项所述的通信代理服务方法。
9.一种通信代理服务装置,其特征在于,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现权利要求5所述的通信代理服务方法。
10.一种基于端口映射技术的iec104通信代理服务系统,其特征在于,包括主站侧设备和终端侧设备,其中:
所述主站侧设备包括权利要求6所述嵌入式装置,或者所述主站侧设备包括iec主站和权利要求8所述的通信代理服务装置;
所述终端侧设备包括权利要求7所述嵌入式设备,或者所述终端侧设备包括iec终端设备和权利要求9所述的通信代理服务装置。
技术总结