一种网关协议报文同步转换方法及装置与流程

文档序号:25992002发布日期:2021-07-23 21:04阅读:184来源:国知局
一种网关协议报文同步转换方法及装置与流程

本发明涉及通信技术领域,具体为一种网关协议报文同步转换方法及装置。



背景技术:

网关又称网间连接器、协议转换器,是在网络层以上实现网络互连的复杂的网络互连设备,且仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关相当于一个翻译器。随着互联网的发展,网关已经在广泛应用于各个技术领域,其中工业互联网中就会采用工业网关。

工业网关在工业互联网中起到承上启下的关键作用,上连云平台,下接工业控制系统,在“端到云”的数据传输方向上,实现对工业现场数据的采集、监控与时间敏感传输,具备对设备各种通信协议解析能力、数据缓存和边缘计算能力,还可解析总线和工业无线协议,最终将数据上送云平台。在“云到端”的数据传输方向上,支持工业系统远程控制等功能。

目前,为了提升工业网关的可靠性,一般采用多机互为备份机制,当一个网关出现问题时,切换到备用网关上。但切换时由于业务和数据需要重新恢复,不可避免的会造成业务和数据的中断。



技术实现要素:

本发明的目的之一在于提供一种网关协议报文同步转换装置,以实现多个网关之间的协议同步转换,从而确保在不中断业务和数据的情况下实现无感切换,保障业务与数据的连续性和工业互联网的可靠性。

本发明提供基础方案一:一种网关协议报文同步转换装置,包括控制组件和若干执行组件;

所述控制组件,用于协议报文的代理和分发,以及执行组件的控制和管理;

所述执行组件,用于协议转换;

所述控制组件连接有外部实体,若控制组件接收到外部实体之间需要通过网关进行协议转换的请求,则触发执行组件创建相应的协议服务和虚拟网卡,以处理协议转换,控制组件分别与不同的外部实体以及对应的协议服务之间创建相应的会话通道;

若控制组件接收到外部实体通过会话通道发送的协议报文,则将协议报文分发给执行组件相应的协议服务中,协议服务对协议报文进行协议转换,再转发给控制组件,由控制组件发给另一外部实体。

基础方案一的有益效果:1、若控制组件接收到外部实体之间需要通过网关进行协议转换的请求,则触发若干执行组件创建相应的协议服务和虚拟网卡,以处理协议转换,并分别与不同的外部实体以及其对应的协议服务之间创建相应的会话通道;若控制组件接收到一个外部实体通过会话通道发送的协议报文,则将协议报文分发给若干执行组件相应的协议服务中,协议服务对协议报文进行协议转换,由此可以针对每个协议转换过程进行精确控制,确保所有执行组件的协议转换过程精确同步,可以保证若干执行组件组成冗余备份模式,能同步备份。

2、若干执行组件能够实现协议转换过程和协议报文转发的同步,当一个执行组件发生故障时,不会影响其他执行组件的运行,从而不影响协议转换过程和协议报文的转发,从而确保在不中断业务的情况下实现无感切换,保障业务的连续性和工业互联网的可靠性。

进一步,所述执行组件包括收发包模块、控制模块和协议模块;

所述收发包模块,用于在执行组件的网络接口进行协议报文的收发;

所述控制模块,用于与控制组件进行通信,并对协议服务的生命周期进行管理;

所述协议模块,用于创建协议服务,进行具体的协议转换过程。

有益效果:执行组件包括收发包模块、控制模块和协议模块,三个模块负责不同的功能,这种基于微服务的方式实现每条协议转换过程,软硬件实现代价低,适用性强。

进一步,所述协议模块,用于创建协议服务,进行具体的协议转换过程,包括:当需要创建新的会话进行协议转换时,协议模块创建一个协议服务,用于新的会话的协议转换,且当协议转换结束,则销毁该协议服务。

有益效果:协议模块当需要创建新的会话进行协议转换时,协议模块创建一个协议服务,用于新的会话的协议转换,以保证每个协议转换的独立进行,不产生任何冲突,且当协议转换结束,则销毁该协议服务,及时清理协议模块的运行内存,保证协议模块运行速度。

进一步,所述控制组件包括cpu、虚拟机和fpga中的任意一种或其任意组合。

有益效果:控制组件包括cpu、虚拟机和fpga中的任意一种或其任意组合,以实现用于协议报文的代理和分发,以及执行组件的控制和管理等功能。

进一步,所述执行组件包括cpu和虚拟机中的任意一种或其组合。

有益效果:执行组件包括cpu和虚拟机中的任意一种或其组合,以实现协议转换等功能。

本发明的目的之二在于提供一种网关协议报文同步转换方法,以实现多个网关之间的协议同步转换,从而确保在不中断业务的情况下实现无感切换,保障业务的连续性和工业互联网的可靠性。

本发明提供的基础方案二:一种网关协议报文同步转换方法,包括如下内容:

s1、若接收到外部实体之间需要通过网关进行协议转换的请求,则创建若干相应的协议服务和虚拟网卡,并创建外部实体以及对应的协议服务之间的相应的会话通道;

s2、若接收到外部实体通过会话通道发送的协议报文,则将协议报文分发给若干协议服务;

s3、协议服务对协议报文进行协议转换,再将转换后的协议报文转发给另一外部实体,若该协议服务发生故障,则转发其它协议服务转换后的协议报文。

基础方案二的有益效果:本方案可以针对每个协议转换过程进行精确控制,确保所有的协议转换过程精确同步;若干相应的协议服务和虚拟网卡可以能够实现协议转换过程和协议报文转发的同步,当一个协议服务发生故障时,不会影响其他协议服务的运行,从而确保在不中断业务和数据的情况下实现无感切换,保障业务的连续性和工业互联网的可靠性。

进一步,当协议服务对协议报文进行协议转换后,销毁该协议服务。

有益效果:当协议服务对协议报文进行协议转换后,销毁该协议服务,以及时清理协议服务,保证运行速度。

附图说明

图1为本发明一种网关协议报文同步转换装置实施例的逻辑框图;

图2为本发明一种网关协议报文同步转换方法实施例的流程图。

具体实施方式

下面通过具体实施方式进一步详细说明:

实施例一

本实施例基本如附图1所示:一种网关协议报文同步转换装置,包括控制组件和若干执行组件;

所述控制组件,用于协议报文的代理和分发,以及执行组件的控制和管理;所述控制组件包括cpu、虚拟机和fpga中的任意一种或其任意组合,但也不仅限于上述实体。

所述执行组件,用于协议转换;所述执行组件包括cpu和虚拟机中的任意一种或其组合,但也不仅限于上述实体。多个执行组件可以组成冗余备份模式。每个执行组件均包括:收发包模块、控制模块和协议模块;

所述收发包模块,用于在执行组件的网络接口进行协议报文的收发;

所述控制模块,用于与控制组件进行通信,并对协议服务的生命周期管理;

所述协议模块,用于创建协议服务,进行具体的协议转换过程,其中当需要创建新的会话进行协议转换时,协议模块创建一个协议服务,用于新的会话的协议转换,且当协议转换结束,则销毁该协议服务,以此保证协议模块运行速度。

所述控制组件连接有外部实体,若控制组件接收到外部实体之间需要通过网关进行协议转换的请求,则触发若干执行组件创建相应的协议服务和虚拟网卡通道,以处理协议转换,并分别与不同的外部实体以及协议服务之间创建相应的会话通道;若控制组件接收到一个外部实体通过会话通道发送的协议报文,则将协议报文分发给若干执行组件相应的协议服务中,协议服务对协议报文进行协议转换,再转发给控制组件,由控制组件发给另一个外部实体。若干执行组件中协议服务在完成协议转换后,再转发给控制组件,采用一主多从策略,即若干执行组件中一个为主执行组件,其它为从执行组件,当所有执行组件中协议服务均完成协议转换,并均发送到控制组件后,控制组件转发主执行组件中协议服务转换后的协议报文,若主执行组件发生故障,则随机选择一个从执行组件为主执行组件。具体实施过程如下:本实施例中控制组件为一个,通过两个外部网卡nic1和nic2,分别连接有外部实体e1和外部实体e2,执行组件为三个,分别是执行组件1,执行组件2和执行组件3,三个执行组件均包括收发包模块、控制模块和协议模块。若外部实体e1和外部实体e2之间需要通过网关进行协议转换,具体为:

1、建立第一阶段的会话通道

1.1、外部实体e1通过网关的外部网卡nic1请求与控制组件建立一条tcp会话通道;

1.2、控制组件接收到tcp会话请求,创建一个tcp会话t1,并为此会话分配一个标签f1;

1.3、控制组件向所有执行组件发起协议服务创建请求,并传递该标签f1;

1.4、所有执行组件的控制模块收到协议服务创建请求后,创建一个协议服务s1,然后为此协议服务创建与外部网卡数量相同的虚拟网卡vnic1和vnic2,并连接到收发包模块上;然后控制模块将标签f1与协议服务s1、虚拟网卡vnic1和vnic2建立一个关联关系。

1.5、控制组件与所有网关执行组件各建立一个tcp会话分别为t1-1、t1-2和t1-3,然后向所有执行组件发起tcp会话连接请求,并在请求报文前打上标签f1;

1.6、所有执行组件的收发包模块收到带标签f1的tcp会话连接请求,提取出标签值f1,找到该f1对应的虚拟网卡vnic1,并剥离报文中的f1值后发给该虚拟网卡vnic1;

1.7、虚拟网卡vnic1对应的协议服务s1收到tcp会话连接请求后,创建一个tcp会话。

2、第一阶段上送采集数据

2.1、外部实体e1通过网关的外部网卡nic1发送数据采集命令;

2.2、控制组件收到数据采集命令,在命令报文前打上标签f1后,通过tcp会话t1-1、t1-2和t1-3发给所有执行组件;

2.3、所有执行组件的收发包模块收到带标签f1的命令报文后,找到f1对应的虚拟网卡vnic1,并剥离报文中的f1值后发给该虚拟网卡vnic1;

2.4、虚拟网卡vnic1对应的协议服务s1收到命令后,解析命令内容,通过虚拟网卡vnic2向外部实体e2发送tcp会话建立请求。

3、建立第二阶段的会话通道

3.1、执行组件的收发包模块收到协议服务s1从vnic2发出的tcp会话建立报文后,在报文头前打上标签f1,然后发给控制组件;

3.2、控制组件收到所有执行组件发来的tcp会话建立报文,识别出标签f1,然后分别与每个网关执行组件建立一个tcp会话分别为t1'-1、t1'-2、t1'-3,并将该会话与标签f1建立关联关系;然后再创建一个会话t1',并通过外部网卡nic2向外部实体e2发起建立tcp会话请求。

4、第二阶段上送采集数据

4.1、协议服务s1通过vnic2发出数据上送命令;

4.2、收发包模块收到vnic2发来的数据上送命令,在报文前打上标签f1,然后发给控制组件;

4.3、控制组件收到所有执行组件发来数据上送命令,识别出标签f1,剥离报文前面的标签f1并通过外部网卡nic2发给外部实体e2。

5、会话通道关闭

5.1、外部实体e1通过外部网卡nic1请求与控制组件关闭tcp会话t1;

5.2、控制组件接收到tcp会话关闭请求,关闭所有与标签f1对应的t1、t1-1、t1-2、t1-3会话;

5.3、所有执行组件的协议服务s1通过虚拟网卡vnic2向外部实体e2请求关闭tcp会话t1’;

5.4、控制组件收到协议服务s1发出的tcp会话关闭报文,关闭所有与标签f1对应的t1'、t1'-1、t1'-2、t1'-3会话;

5.5、控制组件向所有执行组件发起协议服务销毁请求,并传递该标签f1;

5.6、所有执行组件收到协议服务销毁请求后,根据标签f1结束协议服务s1,并关闭f1对应的虚拟网卡vnic1和vnic2。

本方案可以针对每个协议转换过程进行精确控制,确保所有执行组件的协议转换过程精确同步;三个执行组件可以能够实现协议转换过程和协议报文转发的同步,当一个执行组件发生故障时,不会影响其他执行组件的运行,从而确保在不中断业务的情况下实现无感切换,保障业务的连续性和工业互联网的可靠性。

实施例二

本实施例基本如附图2所示:一种网关协议报文同步转换方法,本实施例将本方法应用于外部实体之间需要通过网关进行协议转换的系统,所述系统包括用于协议转换的执行组件和用于协议报文的代理和分发,以及执行组件控制和管理的控制组件,包括如下内容:

s1、若接收到外部实体之间需要通过网关进行协议转换的请求,则创建若干相应的协议服务和虚拟网卡,并创建外部实体以及对应的协议服务之间的相应的会话通道;具体为:若控制组件接收到外部实体之间需要通过网关进行协议转换的请求,则触发若干执行组件创建相应的协议服务和虚拟网卡通道,以处理协议转换,并分别与不同的外部实体以及其对应的协议服务之间创建相应的会话通道。

s2、若接收到外部实体通过会话通道发送的协议报文,则将协议报文分发给若干协议服务;具体为:若控制组件接收到一个外部实体通过会话通道发送的协议报文,则将协议报文分发给若干执行组件相应的协议服务中。

s3、协议服务对协议报文进行协议转换,再将转换后的协议报文转发给另一外部实体,若该协议服务发生故障,则转发其它协议服务转换后的协议报文,当协议服务对协议报文进行协议转换后,销毁该协议服务;具体为:协议服务对协议报文进行协议转换,再转发给控制组件;且当协议服务对协议报文进行协议转换后,执行组件销毁该协议服务;控制组件将协议转换后的协议报文发给另一个外部实体,若该协议服务发生故障,则转发其它协议服务转换后的协议报文。

具体实施过程与实施例一相同,本实施中不再赘述。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1