一种数据传输的方法及设备与流程

文档序号:17938649发布日期:2019-06-18 22:51阅读:168来源:国知局
一种数据传输的方法及设备与流程

本发明涉及通信技术领域,特别涉及一种数据传输的方法及设备。



背景技术:

目前网关与服务器之间通信的方案有以下两种:

第一种,tcp(transmissioncontrolprotocol,传输控制协议)传输方式。

tcp是一种面向连接的、可靠的、基于字节流的传输层通信协议,当需要传输数据时,在网关与服务器之间建立tcp连接即可进行数据传输,采用tcp通道传输数据,稳定可靠,但需要始终维持连接,会消耗大量服务器资源,当大量数据同时需要发送时,由于资源限制,tcp传输方式所能传输的数据有限。

第二种,udp(userdatagramprotocol,用户数据报协议)传输方式。

udp是一种无连接的传输层协议,能够提供面向事务的简单不可靠数据传送服务,udp传输方式相较于tcp传输,能够实现双向实时的数据传输,节约了资源,但该种方式的不可靠性和无序性会导致数据丢失,延时等问题。

综上,现有的网关与服务器之间单一的传输方式不能保证传输效率和传输可靠性。



技术实现要素:

本发明提供一种数据传输的方法及设备,用以解决现有技术中网关与服务器之间单一的传输方式不能保证传输效率和传输可靠性的问题。

本发明实施例提供一种数据传输的方法,该方法包括:

网关设备确定需要向管理服务器发送数据的数据类型;

若为上报数据,所述网关设备将所述上报数据包含在http请求消息中,向所述管理服务器发送所述http请求消息;

若为响应数据,所述网关设备通过tcp连接向所述管理服务器反馈的所述响应数据。

本发明实施例提供一种数据传输的方法,该方法包括:

管理服务器接收到网关设备发送的http请求消息,从所述http请求消息获取上报数据;

所述管理服务器接收到所述网关设备通过tcp连接反馈的所述响应数据。

本发明实施例提供一种数据传输的网关设备,该网关设备包括:

第一处理模块,用于确定需要向管理服务器发送数据的数据类型;

第一传输模块,用于若为上报数据,将所述上报数据包含在http请求消息中,向所述管理服务器发送所述http请求消息;若为响应数据,通过tcp连接向所述管理服务器反馈的所述响应数据。

本发明实施例提供一种数据传输的管理服务器,该管理服务器包括:

第二传输模块,用于接收到网关设备发送的http请求消息;以及接收到所述网关设备通过tcp连接反馈的所述响应数据。

第二处理模块,用于从所述http请求消息获取上报数据。

本发明实施例中,网关设备确定需要向管理服务器发送数据的数据类型;若为上报数据,所述网关设备将所述上报数据包含在http请求消息中,向所述管理服务器发送所述http请求消息,管理服务器接收到网关设备发送的http请求消息,从所述http请求消息获取上报数据;若为响应数据,所述网关设备通过tcp连接向所述管理服务器反馈的所述响应数据,所述管理服务器接收到所述网关设备通过tcp连接反馈的所述响应数据。采用本发明实施例的方式,网关设备针对不同类型的数据采用不同的发送方式,更具有针对性,可以保证数据传输效率,对于一些数据采用安全性较佳的tcp传输方式,保证了传输可靠性,能够有效利用资源。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例数据传输的系统结构示意图;

图2为本发明实施例管理服务器建立tcp连接的流程图;

图3为本发明实施例网关设备建立udp连接的流程图;

图4为本发明实施例数据传输的过程流程图;

图5为本发明实施例数据传输的系统中的网关设备的结构示意图;

图6为本发明实施例数据传输的系统中的管理服务器的结构示意图;

图7为本发明实施例网关设备数据传输方法的示意图;

图8为本发明实施例管理服务器数据传输方法的示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合说明书附图对本发明实施例作进一步详细描述。

在下面的说明过程中,先从网关设备侧和管理服务器侧的配合实施进行说明,最后分别从网关设备侧和管理服务器侧的实施进行说明,但这并不意味着二者必须配合实施,实际上,当网关设备侧与管理服务器侧分开实施时,也解决了分别在网关设备侧和管理服务器侧所存在的问题。只有两者结合使用时,会获得更好的技术效果。

如图1所示,本发明实施例数据传输的系统,包括网关设备10和管理设备服务器20;

网关设备10,用于确定需要向管理服务器20发送数据的数据类型;若为上报数据,将所述上报数据包含在http(hypertexttransferprotocol,超文本传输协议)请求消息中,向所述管理服务器20发送所述http请求消息;若为响应数据,通过tcp连接向所述管理服务器20反馈的所述响应数据;

管理服务器20,用于接收到网关设备10发送的http请求消息,从所述http请求消息获取上报数据;接收到所述网关设备10通过tcp连接反馈的所述响应数据。

网关设备10对不同数据类型的数据采用不同的发送方式,本发明实施例中将网关设备10需要向管理服务器20发送的数据分为两种,一种是网关设备10需要主动发送的数据,此类数据称为上报数据;一种是管理服务器20需要网关设备10发送的数据,也就是说需要管理服务器20向网关设备10下发数据请求后,网关设备10在接收到数据请求才会反馈的数据,此类数据称为响应数据,对应的数据请求为响应数据请求。

下面分别对上报数据和响应数据的传输方式进行介绍:

第一种,上报数据的传输方式。

所述网关设备10确定自身设备状态发生变化时,确定需要向所述管理服务器20发送上报数据,此时发送的数据为上报数据。

其中,所述网关设备10确定自身设备状态发生变化包含有多种情况,例如网关设备10自身检测到自身设备的状态有变化;又例如当网关设备10需要周期向管理服务器20发送与自身设备的状态相关的信息时,已经到达预设的周期;自身设备的状态包括但不限于设备负载状态,设备当前网速,设备上某个负载的连接状态,设备的业务信息,设备通信质量,凡是与设备状态相关的信息适用于本发明实施例。

所述网关设备10确定需要发送上报数据后,将需要发送的上报数据包含在http请求消息中,将包含有所述上报数据的http请求消息发送给管理服务器20。

所述管理服务器20在接收到所述http请求消息后,解析所述http请求消息,获取其中的上报数据。

第二种,响应数据的传输方式。

所述网关设备10在接收到所述管理服务器20通过tcp连接发送的响应数据请求后,确定需要向所述管理服务器20发送的数据为响应数据。也就是说,所述网关设备10在接收到所述管理服务器20的发送的响应数据请求之前需要建立tcp连接。

所述管理服务器20在确定需要网关设备10反馈响应数据时,例如所述管理服务器20需要了解网关设备10的通信质量,或网关设备10上负载的连接状态等情况时,确定需要网关设备10反馈响应数据。

所述管理服务器20需要先判断当前与网关设备10是否已经建立了tcp连接,如果已经建立,则通过建立的tcp连接发送的响应数据请求;否则,需要先建立tcp连接。

其中所述管理服务器20先判断当前与网关设备10是否已经建立了tcp连接的方式有很多种,例如,所述管理服务器20可以维持一个tcp连接的状态表,所述状态表可以记录了所述管理服务器20与各个网关设备10的连接状态,其中可以包含连接地址、tcp连接、网关设备10的对应关系,通过查找所述状态表确定是否与网关设备10建立tcp连接;所述状态表也可以只记录与所述管理服务器20建立tcp连接的网关设备10,通过查找所述状态表,若状态表中包含有所述网关设备10,则确定与所述网关设备10已经建立tcp连接,否则,与所述网关设备10未建立tcp连接;又例如,所述管理服务器20可逐个确定已建立tcp连接的网关设备10是否包括当前需要反馈响应数据的网关设备10。

具体的,建立tcp连接的方式可以采用现有的建立方式,也可以采用其他方式建立tcp连接,也可以利用udp连接建立tcp连接的。

管理服务器20确定与所述网关设备10需要建立tcp连接时,可以先确定管理服务器20与所述网关设备10是否已经建立了udp连接,若已经建立udp连接,管理服务器20通过所述udp连接向所述网关设备10发送tcp连接建立请求,所述网关设备10通过所述udp连接接收到所述服务器发送的tcp连接建立请求,网关设备10和管理服务器20建立tcp连接。

其中,所述管理服务器20先判断当前与网关设备10是否已建立udp连接的方式有很多种,例如,所述管理服务器20可以维持一个udp连接的状态表,所述状态表可以记录了所述管理服务器20与各个网关设备10的连接状态,其中可以包含连接地址、udp连接、网关设备10的对应关系,通过查找所述状态表确定是否与网关设备10建立udp连接;所述状态表也可以只记录与所述管理服务器20建立udp连接的网关设备10,通过查找所述状态表,若状态表中包含有所述网关设备10,则确定与所述网关设备10已经建立udp连接,否则,与所述网关设备10未建立udp连接;又例如,所述管理服务器20可逐个确定已建立udp连接的网关设备10是否包括当前需要反馈响应数据的网关设备10。

所述管理服务器20可以分别记录udp连接和tcp连接的状态,对应一个udp连接状态表和一个tcp连接状态表,也可以将udp连接和tcp连接的状态整合在一个表中。

如图2所示,为本发明实施例管理服务器20建立tcp连接的流程图。

步骤201:管理服务器20确定需要向网关设备10发送响应数据请求;

步骤202:管理服务器20判断是否与网关设备10建立tcp连接,若是,执行步骤203,否则执行步骤205;

步骤203:管理服务器20向网关设备10发送响应数据请求;

步骤204:管理服务器20接收到网关设备10反馈的响应数据;

步骤205:管理服务器20判断是否与网关设备10建立udp连接,若是,执行步骤206,否则执行步骤208;

步骤206:管理服务器20通过udp连接向网关设备10发送tcp连接建立请求;

步骤207:管理服务器20与网关设备10建立tcp连接;

步骤208:管理服务器20与网关设备10建立udp连接。

若管理服务器20确定与所述网关设备10未建立udp连接,则管理服务器20与所述网关设备10需要先建立udp连接。

具体的,网关设备10可以通过如下方式建立udp连接:

网关设备10可以通过http请求向地址服务器发送udp连接地址请求,地址服务器用于为需要连接管理服务器20的网关设备10分配管理服务的连接地址,所述地址服务器根据当前各个服务器的负载情况给网关设备10分配管理服务器20的连接地址,其中,分配的原则可以是选择负载最低的管理服务器20的地址为连接地址,也可以选择与网关设备10距离最近的管理服务器20的地址为连接地址。

在确定为所述网关设备10分配管理服务器20的连接地址后,地址服务器将所述连接地址反馈给所述网关设备10,若当前没有可分配给所述网关设备10的管理服务器20的地址,则通知所述网关设备10没有可用连接地址。

较佳的,为了保证建立udp连接的安全性,地址服务器可以为所述网关设备10生成对应的校验码,将生成的校验码和连接地址反馈给网关设备10。

网关设备10接收到分配的连接地址后,根据所述连接地址与管理服务器20建立udp连接;网关设备10接收到校验码和连接地址,则通过校验码获取连接地址,与所述连接地址对应的管理服务器20建立udp连接。

在建立udp连接的过程中,若没有连接成功,可以再次尝试连接,如果尝试连接次数达到阈值时,则返回通过http请求向地址服务器请求udp连接地址的步骤,重新请求连接地址。

若网关设备10与管理服务器20成功建立udp连接,此时,管理服务器20可以将udp连接、网关设备10的对应关系记录起来。

为了保证udp始终处于连接状态,网关设备10可以周期性的向建立udp连接的管理服务器20发送心跳信息,管理服务器20在接收到心跳消息后反馈响应,心跳信息是在确定udp连接是否正常所发送的一种信息,心跳信息中可以不包含任何内容,若网关设备10接收到响应则表明此时udp连接正常,若多次发送心跳信息,管理服务器20均无响应,则说明udp连接存在异常情况,连接断开,则可以返回通过http请求向地址服务器请求udp连接地址的步骤,重新请求连接地址。

上述建立udp的连接过程为所述网关设备10与管理服务器20建立udp连接的一种方式,当所述网关设备10与管理服务器20已建立udp连接,管理服务器20一般只获取与所述管理服务器20已建立连接的网关设备10反馈的响应数据,若所述网关设备10与管理服务器20之前已建立udp连接,但由于其他原因导致所述网关设备10与管理服务器20之间的udp连接断开,此时若需要再建立udp连接,所述网关设备10可以通过之前地址服务器反馈的连接地址再重新连接,不需要再次向地址服务器发送连接地址请求,若始终连接不成功,则可以再次向地址服务器发送连接地址请求。

如图3所示,为本发明实施例网关设备10建立udp连接的流程图。

步骤301:网关设备10通过http请求向地址服务器发送udp连接地址请求;

步骤302:网关设备10判断是否接收到地址服务器反馈的连接地址,若是执行步骤303,否则执行步骤304;

步骤303:网关设备10根据所述连接地址与管理服务器20建立udp连接;

步骤304:网关设备10不建立udp连接;

步骤305:网关设备10判断是否成功建立udp连接,若是则执行步骤306,否则执行307;

步骤306:网关设备10周期性的向管理服务器20发送心跳信息;

步骤307:网关设备10尝试再次与管理服务器20建立udp连接;

步骤308:网关设备10判断尝试连接次数是否达到阈值,如是则执行步骤301,否则执行步骤303。

在建立tcp连接,网关设备10接收到所述管理服务器20通过tcp连接发送的响应数据请求后,向所述管理服务器20通过tcp连接反馈响应数据,所述管理服务器20接收到网关设备10通过tcp连接反馈的响应数据。

管理服务器20可以检测已建立的tcp连接的空置时间,tcp连接的空置表示管理服务器20和网关设备10没有通过tcp连接传输数据,当空置时间较长时,表明管理服务器20和网关设备10之间在较长时间内没有通过已建立的tcp连接传输数据,维持tcp连接存在一定的资源浪费,为了及时释放资源,所述管理服务器20确定所述tcp连接的空置时间达到阈值时,通过tcp连接向所述网关设备10发送tcp连接断开请求;所述网关设备10接收到所述管理服务器20通过tcp连接发送的tcp连接断开请求后,断开与所述管理服务器20的tcp连接。

如图4所示,以传输的数据为响应数据,当前已建立udp连接,未建立tcp连接为例,说明本发明实施例一种数据传输的方法。

步骤401:管理服务器确定需要网关设备反馈响应数据;

步骤402:管理服务器确定当前与网关设备未建立tcp连接;

步骤403:管理服务器判断与网关设备是否已经建立了udp连接;

步骤404:管理服务器确定与网关设备已经建立udp连接;

步骤405:管理服务器通过udp连接向网关设备发送tcp连接建立请求;

步骤406:网关设备通过udp连接接收到tcp连接建立请求;

步骤407:网关设备和管理服务器建立tcp连接;

步骤408:管理服务器通过建立的tcp连接向网关设备发送响应数据请求;

步骤409:网关设备通过tcp连接向管理服务器反馈响应数据;

步骤410:管理服务器接收到网关设备通过tcp连接反馈的响应数据;

步骤411:管理服务器确定tcp连接的空置时间达到阈值时,通过tcp连接向网关设备发送tcp连接断开请求;

步骤412:网关设备接收到tcp连接断开请求后,断开与管理服务器的tcp连接。

基于同一发明构思,本发现实施例还提供了一种数据传输的网关设备由于该设备解决问题的原理与本发明实施例数据传输的系统相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。

如图5所示,本发明实施例提供了一种数据传输的网关设备,该网关设备包括第一处理模块501和第一传输模块502。

第一处理模块501,用于确定需要向管理服务器发送数据的数据类型;

第一传输模块502,用于若为上报数据,将所述上报数据包含在http请求消息中,向所述管理服务器发送所述http请求消息;若为响应数据,通过tcp连接向所述管理服务器反馈的所述响应数据。

所述第一处理模块501确定需要向管理服务器发送数据的数据类型,具体可以使用如下方式:

在接收到所述管理服务器通过tcp连接发送的响应数据请求后,确定需要向所述管理服务器发送的数据为响应数据;

确定自身设备状态发生变化时,确定需要向所述管理服务器发送上报数据。

所述网关设备与所述管理服务器之间当前已建立用户数据报协议udp连接,未建立tcp连接时,所述第一传输模块502通过所述udp连接接收到所述服务器发送的tcp连接建立请求;

所述第一处理模块501在所述第一传输模块502通过所述udp连接接收到所述服务器发送的tcp连接建立请求后,与所述管理服务器建立tcp连接。

所述第一传输模块502通过tcp连接向所述管理服务器反馈的所述响应数据之后,所述第一传输模块502接收到所述管理服务器通过tcp连接发送的tcp连接断开请求;

所述第一处理模块501在所述第一传输模块502接收到所述管理服务器通过tcp连接发送的tcp连接断开请求后,断开与所述管理服务器的tcp连接。

基于同一发明构思,本发现实施例还提供了一种数据传输的管理服务器由于该设备解决问题的原理与本发明实施例数据传输的系统相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。

如图6所示,本发明实施例提供了一种数据传输的管理服务器,该管理服务器包括第二传输模块601和第二处理模块602:

第二传输模块601,用于接收到网关设备发送的http请求消息;以及接收到所述网关设备通过tcp连接反馈的所述响应数据;

第二处理模块602,用于从所述http请求消息获取上报数据;

在所述第二传输模块601接收到网关设备通过tcp连接反馈的所述响应数据之前,所述第二传输模块601通过tcp连接向所述网关设备发送响应数据请求。

所述第二传输模块601通过tcp连接向所述网关设备发送响应数据请求之前,通过所述udp连接向所述网关设备发送tcp连接建立请求,所述第二处理模块602在确定与所述网关设备之间已建立udp连接,未建立tcp连接后,与所述网关设备建立tcp连接。

所述第二传输模块601接收到所述网关设备通过所述tcp连接反馈的响应数据之后;所述第二处理模块602确定所述tcp连接的空置时间达到阈值;

所述第二传输模块601在所述第二处理模块602确定所述tcp连接的空置时间达到阈值之后,通过tcp连接向所述网关设备发送tcp连接断开请求。

基于同一发明构思,本发现实施例还提供了一种数据传输的方法由于该设备解决问题的原理与本发明实施例数据传输的系统相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。

如图7所示,本发明实施例一种数据传输的方法,该方法包括:

步骤701:网关设备确定需要向管理服务器发送数据的数据类型;

步骤702:若为上报数据,所述网关设备将所述上报数据包含在http请求消息中,向所述管理服务器发送所述http请求消息;

步骤703:若为响应数据,所述网关设备通过传输控制协议tcp连接向所述管理服务器反馈的所述响应数据。

所述网关设备通过如下方式确定需要向管理服务器发送数据的数据类型:所述网关设备在接收到所述管理服务器通过tcp连接发送的响应数据请求后,确定需要向所述管理服务器发送的数据为响应数据;

所述网关设备确定自身设备状态发生变化时,确定需要向所述管理服务器发送上报数据。

所述网关设备在接收到管理服务器通过tcp连接发送的响应数据请求之前,所述网关设备与所述管理服务器之间当前已建立用户数据报协议udp连接,未建立tcp连接时,所述网关设备在通过所述udp连接接收到所述服务器发送的tcp连接建立请求后,与所述管理服务器建立tcp连接。

所述网关设备通过tcp连接向所述管理服务器反馈的所述响应数据之后,所述网关设备接收到所述管理服务器通过tcp连接发送的tcp连接断开请求后,断开与所述管理服务器的tcp连接。

基于同一发明构思,本发现实施例还提供了一种数据传输的方法由于该设备解决问题的原理与本发明实施例数据传输的系统相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。

如图8所示,本发明实施例一种数据传输的方法,该方法包括:

步骤801:管理服务器接收到网关设备发送的http请求消息,从所述http请求消息获取上报数据;

步骤802:管理服务器接收到所述网关设备通过tcp连接反馈的所述响应数据。

所述管理服务器接收到网关设备通过tcp连接反馈的所述响应数据之前,所述管理服务器通过tcp连接向所述网关设备发送响应数据请求。

所述管理服务器通过tcp连接向所述网关设备发送响应数据请求之前,所述管理服务器在确定与所述网关设备之间已建立udp连接,未建立tcp连接后,通过所述udp连接向所述网关设备发送tcp连接建立请求,与所述网关设备建立tcp连接。

所述管理服务器接收到所述网关设备通过所述tcp连接反馈的响应数据之后,所述管理服务器确定所述tcp连接的空置时间达到阈值时,通过tcp连接向所述网关设备发送tcp连接断开请求。

以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。

相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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