基于TCP协议的分路网关通信方法及装置、终端、通信装置与流程

文档序号:18823660发布日期:2019-10-09 01:12阅读:276来源:国知局
基于TCP协议的分路网关通信方法及装置、终端、通信装置与流程

本申请涉及通信领域,具体而言,涉及一种基于tcp协议的分路网关通信方法及装置、终端、通信装置。



背景技术:

物联网技术发展得越来越快,可应用于运输行业的车联网、健康医疗、智能环境等领域。

物联网是以终端设备为核心,当多个接收平台需要同时收到设备的报文数据,或者下发报文数据到终端时,众多的终端不支持同时向多个平台发送数据。

如何让终端设备的报文数据能够精准复制分发给多个接收平台,同时当多个不同的接收平台需要和设备进行报文上/下行交互时,如何支持厂商的设备兼容性,目前尚未提出有效的解决方案。



技术实现要素:

本申请的主要目的在于提供一种基于tcp协议的分路网关通信方法及装置、终端、通信装置,基于tcp协议应用层报文建立多路服务器连接,以解决精准转发的问题。

为了实现上述目的,第一方面,提供了一种基于tcp协议的分路网关通信方法,用于终端。

根据本申请的基于tcp协议的分路网关通信方法包括:建立与分路网关的链路连接,并且将所述分路网关与接收平台建立的连接与所述与分路网关的链路连接保持一致,其中,所述分路网关用于根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组;通过所述分路网关在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,其中,所述终端主动上行的报文,始终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

进一步地,所述终端包括:终端直连或者转发平台,所述终端/转发平台主动上行的过程中根据透传链路关系,将报文数据转发给设备配置的接收平台组中的所有接收平台。

进一步地,所述终端包括:终端直连或者转发平台,所述终端/转发平台应答上行的过程中根据透传链路关系,将报文数据转发给设备配置的接收平台组中的其指令对应的下行平台。

进一步地,所述接收平台主动下行的过程中,根据透传链路关系,全部所述接收平台均可下行至所述终端。

进一步地,所述接收平台应答下行的过程中,根据透传链路关系,当主链路的报文下行至终端,在从链路的报文数据将丢弃。

为了实现上述目的,第二方面,提供了一种基于tcp协议的分路网关通信方法,用于分路网关。

根据本申请的基于tcp协议的分路网关通信方法包括:建立与终端的链路连接,根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组;将所述终端与接收平台建立的连接与所述与终端的链路连接保持一致;还包括,在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,其中,报文精准上行是指所述终端主动上行的报文始,终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;其中,报文精准下行是指在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

为了实现上述目的,第三方面,提供了一种基于tcp协议的分路网关通信装置,用于终端,包括:

根据本申请的基于tcp协议的分路网关通信装置包括:第一链路模块,用于建立与分路网关的链路连接,并且将所述分路网关与接收平台建立的连接与所述与分路网关的链路连接保持一致,其中,所述分路网关用于根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组;报文上下行模块,用于通过所述分路网关在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,其中,所述终端主动上行的报文,始终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

为了实现上述目的,第四方面,提供了一种基于tcp协议的分路网关通信装置,用于分路网关。

根据本申请的基于tcp协议的分路网关通信装置包括:第二链路模块,用于建立与终端的链路连接,根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组;无感知模块,用于将所述终端与接收平台建立的连接与所述与终端的链路连接保持一致;还包括:报文上下行模块,用于在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,其中,报文精准上行是指所述终端主动上行的报文始,终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;其中,报文精准下行是指在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

在本申请实施例中基于tcp协议的分路网关通信方法及装置、终端、通信装置,采用建立与分路网关的链路连接,并且将所述分路网关与接收平台建立的连接与所述与分路网关的链路连接保持一致的方式,通过所述分路网关在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,达到了基于tcp协议应用层报文建立多路服务器链接后实现精准转发的目的,从而实现了多路服务器精准报文转发和通信的技术效果,进而解决了精准转发的技术问题。

进一步地,当设备向分路网关上行报文时,分路网关能将报文精准透传给指定的接收平台。与此同时,不同的接收平台也能将报文下行给分路网关,通过分路网关将报文转发给设备,以达到单链路转发至多链路,多链路下发至单链路的分路网关功能。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请第一实施例的基于tcp协议的分路网关通信方法流程示意图;

图2是根据本申请第二实施例的基于tcp协议的分路网关通信方法流程示意图;

图3是根据本申请第一实施例的基于tcp协议的分路网关通信装置结构示意图;

图4是根据本申请第二实施例的基于tcp协议的分路网关通信装置结构示意图;

图5是根据本申请第一实施例的终端与分路网络、接收平台链接示意图;

图6是根据本申请第二实施例的终端与分路网络、接收平台链接示意图;

图7是行/下行的转发处理逻辑一致的原理示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。

并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。

此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

如图1所示,该方法包括如下的步骤s102至步骤s106:

步骤s102,建立与分路网关的链路连接,并且将所述分路网关与接收平台建立的连接与所述与分路网关的链路连接保持一致,

所述分路网关用于根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组。

具体地,在终端建立与分路网关的链路连接是指在终端分别向分路网关建立tcp连接,比如可以是终端直连或终端转发平台与所述分路网关链接。

需要注意的是,所述分路网关可根据不同的链路,分别向接收平台建立不同的tcp连接的主从链路组。优选地,让接收平台对前端的分路网关无感知,分路网关与接收平台建立的连接,将始终与终端/转发平台与分路网关建立的连接保持一致。

步骤s104,通过所述分路网关在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,

根据建立的链接关系,通过所述分路网关在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时可以分别实现报文精准上行或下行。

在执行过程中包括如下的实现方式:

所述终端主动上行的报文,始终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

从以上的描述中,可以看出,本申请实现了如下技术效果:

在本申请实施例中,采用建立与分路网关的链路连接,并且将所述分路网关与接收平台建立的连接与所述与分路网关的链路连接保持一致的方式,通过所述分路网关在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,达到了基于tcp协议应用层报文建立多路服务器链接后实现精准转发的目的,从而实现了多路服务器精准报文转发和通信的技术效果,进而解决了精准转发的技术问题。

根据本申请实施例,作为本实施例中的优选,所述终端包括:终端直连或者转发平台,所述终端/转发平台主动上行的过程中根据透传链路关系,将报文数据转发给设备配置的接收平台组中的所有接收平台。

具体地,终端/转发平台通过分路网关主动上行报文至多个接收平台。

在通过所述终端/转发平台主动上行的过程中,当终端/转发平台、分路网关、接收平台的一对一或一对多的链路建立之后,即可通过该链路进行报文上行,比如,终端/转发平台与分路网关建立了tcp连接channel1之后,并且通过该channel1传送的报文需要同时转发给b1、b2、b3,那么所有设备通过channel1连接上行的所有报文均会转发给b1、b2、b3平台。

根据本申请实施例,作为本实施例中的优选,所述终端包括:终端直连或者转发平台,所述终端/转发平台应答上行的过程中根据透传链路关系,将报文数据转发给设备配置的接收平台组中的其指令对应的下行平台。

具体地,终端/转发平台通过分路网关仅被动应答至其指令配对,即每个下行指令有且仅有一个对应的上行指令的下行接收平台。

在所述终端/转发平台被动应答的过程中,当分路网关收到终端的应答上行报文时,分路网关将会根据应答流水号还原成分路网关保存的原流水号后,将应答报文转发给其对应的下行平台,各个下行平台将会收到带下行流水号的终端应答报文,从而达到精准转发的目的。

根据本申请实施例,作为本实施例中的优选,所述接收平台主动下行的过程中,根据透传链路关系,全部所述接收平台均可下行至所述终端。

每个接收平台主动下行时分路网关生成唯一流水号,以及在终端/转发平台通过分路网关被动应答时根据唯一流水号精准上行至其指令配对的下行平台。

具体地,每一条接收平台主动下行的报文数据下行时均会带有流水号,并且流水号由各个平台自身维护,即当不同的平台向终端下行相同指令的报文,很有可能出现流水号也一致的情况,所以如果直接下发给设备,分路网关收到终端的应答报文后,无法确认将应答报文精准的转发给下行平台;为了避免这种异常情况的发生,分路网关将自身维护一套针对各个终端的唯一流水号,当各个平台向终端下行任何报文,分路网关将统一会将原始报文中的流水号替换成分路网关中的唯一流水号,并将原流水号保存至分路网关后将携带新流水号的报文下发给设备,此时假设平台下行的一模一样的报文,而终端将会收到多个不同流水号的报文,并且终端将会根据各个流水号分别应答,由此有效的避免了各个平台流水号重复而导致无法精准下发和应答的问题。

根据本申请实施例,作为本实施例中的优选,所述接收平台应答下行的过程中,根据透传链路关系,当主链路的报文下行至终端,在从链路的报文数据将丢弃。

具体地,在接收平台应答下行的过程中,当向各个平台透传报文时,各个平台收到上行指令后,会分别对每个指令进行应答,比如,一个指令a同时转发给了b1(主)、b2(从)、b3(从)三个平台,其中b1为主链路,b2、b3均为从链路,此时b1、b2、b3均会应答设备,但是同一个终端只接收一个应答响应,而且也无需重复应答,所以此处分路网关接收到平台b1、b2、b3的应答后,只将主链路b1的应答报文应答给设备,而其它的从链路b2、b3的应答报文将直接从分路网关侧丢弃。

根据本申请实施例,还提供了一种基于tcp协议的分路网关通信方法,如图2所示,用于分路网关,包括:

步骤s202,建立与终端的链路连接,根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组;

步骤s204,将所述终端与接收平台建立的连接与所述与终端的链路连接保持一致;

还包括,步骤s206,在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,

其中,报文精准上行是指所述终端主动上行的报文始,终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;其中,报文精准下行是指在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行的过程和实现原理如上所述,在此不再进行赘述。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本申请实施例,还提供了一种用于实施上述方法的基于tcp协议的分路网关通信装置,用于终端,如图3所示,该装置包括:第一链路模块100,用于建立与分路网关的链路连接,并且将所述分路网关与接收平台建立的连接与所述与分路网关的链路连接保持一致,其中,所述分路网关用于根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组;报文上下行模块200,用于通过所述分路网关在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,其中,所述终端主动上行的报文,始终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

在本申请的实施例的第一链路模块100中所述分路网关用于根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组。

具体地,在终端建立与分路网关的链路连接是指在终端分别向分路网关建立tcp连接,比如可以是终端直连或终端转发平台与所述分路网关链接。

需要注意的是,所述分路网关可根据不同的链路,分别向接收平台建立不同的tcp连接的主从链路组。优选地,让接收平台对前端的分路网关无感知,分路网关与接收平台建立的连接,将始终与终端/转发平台与分路网关建立的连接保持一致。

在本申请的实施例的报文上下行模块200中根据建立的链接关系,通过所述分路网关在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时可以分别实现报文精准上行或下行。

在执行过程中包括如下的实现方式:

所述终端主动上行的报文,始终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

在本申请的另一实施例中,还提供了一种终端,用于在终端执行述的基于tcp协议的分路网关通信方法。所述基于tcp协议的分路网关通信方法实现原理和有益效果如上所述,在此不再进行赘述。

根据本申请实施例,还提供了一种用于实施上述方法的基于tcp协议的分路网关通信装置,用于分路网关,如图4所示,该装置包括:

基于tcp协议的分路网关通信装置,其特征在于,用于分路网关,包括:第二链路模块300,用于建立与终端的链路连接,根据不同的链路分别与接收平台建立不同的基于tcp连接的主从链路组;无感知模块400,用于将所述终端与接收平台建立的连接与所述与终端的链路连接保持一致;还包括:报文上下行模块200,用于在所述接收平台主动下行、所述接收平台应答下行或者所述终端主动上行时实现报文精准上行或下行,其中,报文精准上行是指所述终端主动上行的报文始,终转发给其配置的平台组内的所有平台;所述终端被动应答上行的报文,始终只转发给其指令对应的下行报文的接收接收平台;其中,报文精准下行是指在所述接收平台主链路的应答报文,将应答给所述终端,并且其他从链路的报文将在分路网关侧丢弃;在所述接收平台均可主动下行报文至所述终端。

在本申请的又一实施例中,还提供了一种通信装置,用于在分路网关执行基于tcp协议的分路网关通信方法。所述基于tcp协议的分路网关通信方法实现原理和有益效果如上所述,在此不再进行赘述。

本申请的实现原理如下,请参考附图5至图7。

如图5和6所示,图5和6中仅展示了具有代表性的两种终端,并分别向分路网关建立tcp连接a1终端直)、a2转发平台,分路网关将根据不同的链路a1、a2,会分别向接收平台建立不同的tcp连接的主从链路组,即分路网关的代理服务器有n个连接,那么对应其转发平台也建立n个连接,所以左侧的一个tcp连接将会通过多个右侧的多个tcp连接转发给右侧的多个平台,左侧连接与右侧连接将构成一对多的关系。如上图所示,终端直连链路的关系:a1->b1,a1->b2,a1->b3,即通过a1链路发送的报文将同时转发给b1、b2、b3链路;同理,转发平台链路的关系:a2->b4,a2->b5,a2->b6,即通过a2链路发送的报文将同时转发给b4、b5、b6链路。最终达到对接收平台端的无感知的能力。

需要注意的是,上述转发平台链路的关系会根据从a2链路发送的第一个终端配置的转发平台组进行与各个接收平台建立tcp连接,此处同一个链路中的设备要严格的配置在同一个平台接收组中,谨防数据发送错乱。

具体地,终端/转发平台主动上行时当终端/转发平台、分路网关、接收平台的一对一或一对多的链路建立之后,即可通过该链路进行报文上行,比如终端/转发平台与分路网关建立了tcp连接channel1之后,并且通过该channel1传送的报文需要同时转发给b1、b2、b3,那么所有设备通过channel1连接上行的所有报文均会转发给b1、b2、b3平台。终端/转发平台主动上行的报文始终转发给其配置的平台组内的所有平台。

具体地,终端/转发平台被动应答时当分路网关收到终端的应答上行报文时,分路网关将会根据应答流水号还原成分路网关保存的原流水号后,将应答报文转发给其对应的下行平台,各个下行平台将会收到带下行流水号的终端应答报文,从而达到精准转发的目的。终端/转发平台被动应答上行的报文始终只转发给其指令对应的下行报文的接收接收平台。

具体地,接收平台主动下行时每一条接收平台主动下行的报文数据下行时均会带有流水号,并且流水号由各个平台自身维护,即当不同的平台b1、b2、b3向终端下行相同指令的报文,很有可能出现流水号也一致的情况,所以如果直接下发给设备,分路网关收到终端的应答报文后,无法确认将应答报文精准的转发给下行平台;为了避免这种异常情况的发生,分路网关将自身维护一套针对各个终端的唯一流水号,当各个平台b1、b2、b3向终端下行任何报文,分路网关将统一会将原始报文中的流水号替换成分路网关中的唯一流水号,并将原流水号保存至分路网关后将携带新流水号的报文下发给设备,此时假设平台下行的一模一样的报文,而终端将会收到多个不同流水号的报文,并且终端将会根据各个流水号分别应答,由此有效的避免了各个平台流水号重复而导致无法精准下发和应答的问题。所有接收平台均可主动下行报文至终端/转发平台。

具体地,接收平台应答下行时当向各个平台透传报文时,各个平台收到上行指令后,会分别对每个指令进行应答,比如一个指令a同时转发给了b1(主)、b2(从)、b3(从)三个平台,其中b1为主链路,b2、b3均为从链路,此时b1、b2、b3均会应答设备,但是同一个终端只接收一个应答响应,而且也无需重复应答,所以此处分路网关接收到平台b1、b2、b3的应答后,只将主链路b1的应答报文应答给设备,而其它的从链路b2、b3的应答报文将直接从分路网关侧丢弃。接收平台主链路的应答报文将应答给终端/转发平台,其它从链路的报文将在分路网关侧丢弃。

如图7所示,无论是终端直连,或是转发平台直连,上行/下行的转发处理逻辑一致。具体地,

(1)终端/转发平台主动上行:根据透传链路关系,将报文数据转发给该设备配置的接收平台组中的所有接收平台。

(2)终端/转发平台应答上行:根据透传链路关系,将报文数据转发给该设备配置的接收平台组中的其指令对应的下行平台。

(3)接收平台主动下行:根据透传链路关系,所有接收平台均可下行至终端/转发平台。

(4)接收平台应答下行:根据透传链路关系,只有主链路的报文下行至终端/转发平台,从链路的报文数据将丢弃。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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