CN109428851A - 一种数据传输组件及方法 - Google Patents
一种数据传输组件及方法 Download PDFInfo
- Publication number
- CN109428851A CN109428851A CN201710547314.7A CN201710547314A CN109428851A CN 109428851 A CN109428851 A CN 109428851A CN 201710547314 A CN201710547314 A CN 201710547314A CN 109428851 A CN109428851 A CN 109428851A
- Authority
- CN
- China
- Prior art keywords
- physical connection
- data
- module
- transmission
- tcp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Abstract
本申请公开了一种数据传输组件及方法,本申请将物理连接桥接到TCP之上,对外暴露给目标应用的是TCP连接,目标应用仅需提供TCP数据包即可,基于TCP的标准应用层协议有很多,如HTTP等,由于标准应用层协议能够适用于不同类型的业务,因此本申请不需要针对不同类型业务制定特定的二进制通讯协议,降低了开发成本。并且,不需要集成各类型二进制通讯协议的解析和包装方法,降低了数据传输组件的业务耦合程度。
Description
技术领域
本申请涉及数据传输技术领域,更具体地说,涉及一种数据传输组件及方法。
背景技术
随着移动互联网以及汽车电子产业的发展,手机与车机(亦可称为车载多媒体设备或车载设备)的互联互通逐渐成为人们出行生活的标配。如图1,其示例了一种手机与车机互联互通的应用场景。手机可以将路线数据、车机版地图数据、车机版安装包数据发送给车机。现有实现手机与车机互联互通的物理连接方式主要有三种,分别为:USB连接、蓝牙连接和WIFI连接。
基于上述三种通讯方式,现有手机与车机互联应用SDK(Software DevelopmentKit,软件开发工具包)在物理连接的基础上设计了相应的二进制通讯协议,以支撑具体的互联互通的业务。针对不同类型的业务,现有技术需要为每类业务制定特定的二进制通讯协议,导致开发成本增加。并且SDK需要集成各类型二进制通讯协议的解析和包装方法,导致SDK业务耦合过重。
发明内容
有鉴于此,本申请提供了一种数据传输组件及方法,以解决现有手机与车机互联互通存在的开发工作量大,协议维护成本高的问题。
为了实现上述目的,现提出的方案如下:
一种数据传输组件,包括:第一物理连接模块、第一TCP协议模块和第一TCP代理模块,其中,
第一物理连接模块,用于与独立于所述数据传输组件的第二物理连接模块建立物理连接;
第一TCP协议模块,用于通过TCP协议发送目标应用的TCP数据包至所述第一TCP代理模块;
第一TCP代理模块,用于将获取的TCP数据包进行封装,得到物理连接传输数据,并将物理连接传输数据传递给第一物理连接模块;
第一物理连接模块,还用于将所述物理连接传输数据通过所述物理连接传输至所述第二物理连接模块。
优选地,所述第一TCP协议模块通过TCP协议发送目标应用的TCP数据包至所述第一TCP代理模块的过程,具体包括:
通过TCP协议发送目标应用的TCP数据包至所述第一TCP代理模块预先设置的端口;
所述第一TCP代理模块具体包括:
监听模块,用于对所述预先设置的端口进行监听,以获取TCP数据包;
封装模块,用于将所述TCP数据包进行封装,得到物理连接传输数据,并将所述物理连接传输数据传递给第一物理连接模块。
优选地,所述第一物理连接模块将所述物理连接传输数据通过所述物理连接传输至所述第二物理连接模块的过程,具体包括:
通过所述物理连接,发送建立业务传输通道的控制命令至所述第二物理连接模块,及接收所述第二物理连接模块响应所述控制命令后返回的业务通道标识;
在所述物理连接传输数据上添加所述业务通道标识,并通过所述物理连接,将添加了业务通道标识的物理连接传输数据传输至所述第二物理连接模块。
一种数据传输组件,包括:第二物理连接模块、第二TCP协议模块和第二TCP代理模块,其中,
第二物理连接模块,用于与独立于所述数据传输组件的第一物理连接模块建立物理连接,通过所述物理连接,接收所述第一物理连接模块传输来的物理连接传输数据;
第二TCP代理模块,用于将获取的所述物理连接传输数据进行解析,得到目标应用的TCP数据包,并将所述TCP数据包通过TCP协议传递至所述第二TCP协议模块;
第二TCP协议模块,用于获取TCP数据包,并将所述TCP数据包传递至所述目标应用。
优选地,所述第二TCP代理模块将所述TCP数据包通过TCP协议传递至所述第二TCP协议模块的过程,具体包括:
通过TCP协议发送所述TCP数据包至所述第二TCP协议模块预先设置的端口;
所述第二TCP协议模块具体包括:
监听模块,用于对预先设置的端口进行监听,以获取TCP数据包;
发送模块,用于将获取的TCP数据包传递至所述目标应用。
优选地,所述第二物理连接模块通过所述物理连接,接收所述第一物理连接模块传输来的物理连接传输数据的过程,具体包括:
接收所述第一物理连接模块通过所述物理连接发送的建立业务传输通道的控制命令;
响应所述控制命令,分配业务通道标识并将所述业务通道标识返回给所述第一物理连接模块;
接收所述第一物理连接模块通过所述物理连接发送的添加有所述业务通道标识的物理连接传输数据。
优选地,在接收到的物理连接传输数据需要返回响应数据时,
所述第二物理连接模块,还用于将添加有所述业务通道标识的响应数据发送至所述第一物理连接模块。
一种数据传输方法,应用于数据发送端,该方法包括:
建立与数据接收端之间的物理连接;
获取目标应用通过TCP协议发送的TCP数据包;
将获取的TCP数据包进行封装,得到物理连接传输数据;
将所述物理连接传输数据通过所述物理连接传输至所述数据接收端。
优选地,所述获取目标应用通过TCP协议发送的TCP数据包,包括:
对预先设置的端口进行监听,以通过所述端口接收到所述目标应用通过TCP协议发送的TCP数据包。
优选地,所述将所述物理连接传输数据通过所述物理连接传输至所述数据接收端,包括:
通过所述物理连接,向所述数据接收端发送建立业务传输通道的控制命令;
接收所述数据接收端响应所述控制命令后返回的业务通道标识;
在所述物理连接传输数据上添加所述业务通道标识,并通过所述物理连接,将添加了业务通道标识的物理连接传输数据传输至所述数据接收端。
一种数据传输方法,应用于数据接收端,该方法包括:
建立与数据发送端间的物理连接;
接收所述数据发送端通过所述物理连接传输来的物理连接传输数据;
对所述物理连接传输数据进行解析,得到目标应用的TCP数据包;
将所述TCP数据包通过TCP协议传递至所述目标应用。
优选地,所述接收所述数据发送端通过所述物理连接传输来的物理连接传输数据,包括:
接收所述数据发送端通过所述物理连接发送的建立业务传输通道的控制命令;
响应所述控制命令,分配业务通道标识并将所述业务通道标识返回给所述数据发送端;
接收所述数据发送端通过所述物理连接发送的添加有所述业务通道标识的物理连接传输数据。
优选地,还包括:
在接收到的物理连接传输数据需要返回响应数据时,将添加有所述业务通道标识的响应数据发送至所述数据发送端。
从上述的技术方案可以看出,本申请的数据传输组件包括第一物理连接模块、第一TCP协议模块和第一TCP代理模块,其中,第一物理连接模块用于与独立于该数据传输组件的第二物理连接模块建立物理连接;第一TCP协议模块用于通过TCP协议发送目标应用的TCP数据包至第一TCP代理模块;第一TCP代理模块用于将获取的TCP数据包进行封装,得到物理连接传输数据;第一物理连接模块还用于将物理连接传输数据通过物理连接传输至第二物理连接模块。本申请将物理连接桥接到TCP之上,对外暴露给目标应用的是TCP连接,目标应用仅需提供TCP数据包即可,基于TCP的标准应用层协议有很多,如HTTP等,由于标准应用层协议能够适用于不同类型的业务,因此本申请不需要针对不同类型业务制定特定的二进制通讯协议,降低了开发成本。并且,不需要集成各类型二进制通讯协议的解析和包装方法,降低了数据传输组件的业务耦合程度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示例了一种手机与车机互联互通的应用场景;
图2为本申请实施例公开的一种数据传输组件架构示意图;
图3为本申请实施例公开的另一种数据传输组件架构示意图;
图4为本申请实施例公开的一种数据传输系统架构示意图;
图5为本申请实施例公开的一种数据传输组件层次架构示意图;
图6为本申请实施例公开的一种数据传输方法流程图;
图7为本申请实施例公开的另一种数据传输方法流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种数据传输组件,该数据传输组件可以应用于数据发送端和数据接收端。以手机端与车机端互联通信过程为例,数据传输组件可以应用于手机端和车机端,以实现二者间数据的相互传输。
数据传输组件可以和一应用软件配合使用,数据发送端和数据接收端可以分别安装同一目标应用,并通过数据发送端和数据接收端各自的数据传输组件,实现两个目标应用间的互联互通。
可以理解的,本申请中的数据传输组件亦可称为数据传输装置,即数据传输组件是一个由若干程序模块组成的装置。
首先,对应用于数据发送端的数据传输组件进行介绍,参见图2,其示例了数据传输组件的一种组成架构,具体可以包括:
第一物理连接模块10、第一TCP代理模块11和第一TCP协议模块12,其中:
第一物理连接模块10,用于与独立于该数据发送端的第二物理连接模块建立物理连接;
其中,第二物理连接模块独立于数据发送端,其可以是数据接收端的数据传输组件的一部分。也即,第一物理连接模块和第二物理连接模块分属于两个不同终端,第一物理连接模块和第二物理连接模块间所建立的物理连接可以是蓝牙连接、USB连接等。
第一TCP协议模块12,用于通过TCP协议发送目标应用的TCP数据包至第一TCP代理模块11;
第一TCP代理模块11,用于将获取的TCP数据包进行封装,得到物理连接传输数据,并将物理连接传输数据传递给第一物理连接模块10;
第一物理连接模块10,还用于将所述物理连接传输数据通过所述物理连接传输至所述第二物理连接模块。
本申请的数据传输组件通过第一TCP协议模块和第一TCP代理模块将物理连接桥接到TCP之上,数据传输组件暴露给目标应用的是TCP连接,目标应用仅需提供TCP数据包即可,基于TCP的标准应用层协议有很多,如HTTP等,由于标准应用层协议能够适用于不同类型的业务,因此本申请不需要针对不同类型业务制定特定的二进制通讯协议,降低了开发成本。并且,不需要集成各类型二进制通讯协议的解析和包装方法,降低了数据传输组件的业务耦合程度。
进一步,由于本申请使用标准应用层协议代替传统二进制通讯协议,使得数据传输不再需要关心具体业务,因此其扩展性变得更强,可以适用于多种类型的业务。
可选的,第一TCP代理模块11可以预先设置端口,如设置端口localhost:8080等。在此基础上,第一TCP协议模块12通过TCP协议发送目标应用的TCP数据包至所述第一TCP代理模块11的过程,具体可以包括:
第一TCP协议模块12通过TCP协议发送目标应用的TCP数据包至所述第一TCP代理模块11预先设置的端口。
进一步的,第一TCP代理模块11具体可以包括:监听模块和封装模块,其中:
监听模块,用于对所述预先设置的端口进行监听,以获取TCP数据包;
封装模块,用于将所述TCP数据包进行封装,得到物理连接传输数据,并将所述物理连接传输数据传递给第一物理连接模块。
在本申请的另一个实施例中,介绍了第一物理连接模块将所述物理连接传输数据通过所述物理连接传输至所述第二物理连接模块的具体实施过程。
为了保证传输过程数据不会混乱,本申请可以将传输数据分为控制数据和业务数据,对于控制数据和业务数据可以设置不同的标识进行区分,如控制数据可以携带第一通道标识,业务数据可以携带第二通道标识。
其中,控制数据是指用于控制数据传输的指令性数据,业务数据为两个终端具体需要传输的业务相关数据。
在此基础上,上述第一物理连接模块向第二物理连接模块传输数据的过程,具体可以包括:
第一物理连接模块10通过所述物理连接,发送建立业务传输通道的控制命令至所述第二物理连接模块,及接收所述第二物理连接模块响应所述控制命令后返回的业务通道标识;
其中,第一物理连接模块10发送的控制命令携带第一通道标识,比如“0”,该第一通道标识与第二物理连接模块返回的业务通道标识不同,业务通道标识可以是“1”或其它非“0”标识。
第一物理连接模块10在所述物理连接传输数据上添加所述业务通道标识,并通过所述物理连接,将添加了业务通道标识的物理连接传输数据传输至所述第二物理连接模块。
需要说明的是,对于业务数据而言,其可能会存在多种不同的类型,如路线数据业务、POI数据业务、控制数据业务、收藏数据业务等。为了对不同类型业务进行区分,本申请可以为不同类型业务对应的数据设置不同的通道标识。也即,第一物理连接模块10向第二物理连接模块发送的建立业务传输通道的控制命令中可以携带所述物理连接传输数据的类型,进而由第二物理连接模块生成与该类型对应的业务通道标识,并返回给第一物理连接模块。基于此,对于不同类型的物理连接传输数据,其传输过程所携带的业务通道标识是不同的,便于对不同类型数据进行区分。
在本申请的另一个实施例中,对应用于数据接收端的数据传输组件进行介绍,参见图3,其示例了数据传输组件的一种组成架构,具体可以包括:
第二物理连接模块20、第二TCP代理模块21和第二TCP协议模块22,其中,
第二物理连接模块20,用于与独立于所述数据传输组件的第一物理连接模块10建立物理连接,通过所述物理连接,接收所述第一物理连接模块10传输来的物理连接传输数据;
其中,第一物理连接模块20独立于数据接收端,其可以是数据发送端的数据传输组件的一部分,如图2示例的第一物理连接模块所示。也即,第一物理连接模块和第二物理连接模块分属于两个不同终端,第一物理连接模块和第二物理连接模块间所建立的物理连接可以是蓝牙连接、USB连接等。
第二TCP代理模块21,用于将获取的所述物理连接传输数据进行解析,得到目标应用的TCP数据包,并将所述TCP数据包通过TCP协议传递至所述第二TCP协议模块22;
第二TCP协议模块22,用于获TCP数据包,并将所述TCP数据包传递至所述目标应用。
本实施例公开的应用于数据接收端的数据传输组件通过第二TCP协议模块和第二TCP代理模块将物理连接桥接到TCP之上,数据传输组件暴露给目标应用的是TCP连接,通过对接收的物理连接传输数据进行解析后得到TCP数据包,并将TCP数据包传递给目标应用。基于TCP的标准应用层协议有很多,如HTTP等,由于标准应用层协议能够适用于不同类型的业务,因此本申请不需要针对不同类型业务制定特定的二进制通讯协议,降低了开发成本。并且,不需要集成各类型二进制通讯协议的解析和包装方法,降低了数据传输组件的业务耦合程度。
进一步,由于本申请使用标准应用层协议代替传统二进制通讯协议,使得数据传输不再需要关心具体业务,因此其扩展性变得更强,可以适用于多种类型的业务。
可选的,第二TCP协议模块22可以预先设置端口,如设置端口localhost:8080等。在此基础上,第二TCP代理模块21将所述TCP数据包通过TCP协议传递至第二TCP协议模块22的过程,具体可以包括:
第二TCP代理模块21通过TCP协议发送所述TCP数据包至第二TCP协议模块22预先设置的端口。
进一步的,第二TCP协议模块22具体可以包括:监听模块和发送模块,其中:
监听模块,用于对预先设置的端口进行监听,以获取TCP数据包;
发送模块,用于将获取的TCP数据包传递至所述目标应用。
在本申请的另一个实施例中,介绍第二物理连接模块通过所述物理连接,接收所述第一物理连接模块传输来的物理连接传输数据的过程。
在上述数据发送端的数据传输组件的介绍过程中,已经说明可以将传输数据划分为控制数据和业务数据,进而分别设置不同的标识进行区分。基于前述实施例介绍的数据发送端的具体实现逻辑,本实施例中第二物理连接模块通过所述物理连接,接收所述第一物理连接模块传输来的物理连接传输数据的过程,具体可以包括:
第二物理连接模块20接收所述第一物理连接模块通过所述物理连接发送的建立业务传输通道的控制命令;
第二物理连接模块20响应所述控制命令,分配业务通道标识并将所述业务通道标识返回给所述第一物理连接模块;
具体地,第二物理连接模块20分配的业务通道标识不同于所述控制命令所携带的通道标识。
第二物理连接模块20接收所述第一物理连接模块通过所述物理连接发送的添加有所述业务通道标识的物理连接传输数据。
需要说明的是,对于业务数据而言,其可能会存在多种不同的类型,如路线数据业务、POI数据业务、控制数据业务、收藏数据业务等。为了对不同类型业务进行区分,本申请可以为不同类型业务对应的数据设置不同的通道标识。也即,第一物理连接模块10向第二物理连接模块发送的建立业务传输通道的控制命令中可以携带所述物理连接传输数据的类型,进而由第二物理连接模块生成与该类型对应的业务通道标识,并返回给第一物理连接模块。基于此,对于不同类型的物理连接传输数据,其传输过程所携带的业务通道标识是不同的,便于对不同类型数据进行区分。
进一步可选的,第二物理连接模块20在确定接收到的物理连接传输数据需要返回响应数据时,可以进一步:将添加有所述业务通道标识的响应数据发送至所述第一物理连接模块。
其中,响应数据可以是预先设置好的一段数据,表示第二物理连接模块成功接收数据。该预先设置好的响应数据可以是通用的,也可以预先针对不同类型的物理连接传输数据设置对应的响应数据。
在本申请的另一个实施例中,公开了一种数据传输系统,结合图4对本实施例的数据传输系统进行介绍,其可以包括发送端C和接收端S,发送端C可以安装有第一数据传输组件100,接收端S可以安装有第二数据传输组件200,其中:
第一数据传输组件100可以包括第一物理连接模块10、第一TCP代理模块11和第一TCP协议模块12;
第二数据传输组件200可以包括第二物理连接模块20、第二TCP代理模块21和第二TCP协议模块22。
第一物理连接模块10和第二物理连接模块20建立物理连接。该物理连接可以是蓝牙连接、USB连接、WIFI连接等。
发送端C和接收端S中都安装有需要进行互联互通的目标应用R。
在发送端C,目标应用R通过TCP协议发送TCP数据包给第一TCP协议模块12,第一TCP协议模块12将TCP数据包发送至第一TCP代理模块11。第一TCP代理模块11将TCP数据包进行封装,得到物理连接传输数据,并将物理连接传输数据传递给第一物理连接模块10。第一物理连接模块10通过物理连接将物理连接传输数据发送给第二物理连接模块20。
接收端S,第二物理连接模块20接收物理连接传输数据,第二TCP代理模块21将物理连接传输数据进行解析,得到目标应用R的TCP数据包,并将所述TCP数据包通过TCP协议传递至所述第二TCP协议模块22。第二TCP协议模块22将TCP数据包传递至目标应用R。
由此可见,本实施例中第一数据传输组件和第二数据传输组件将物理连接桥接到TCP之上,整个数据传输系统对外暴露给目标应用的是TCP连接,即发送端和接收端之间的通讯可以认为是TCP连接,而基于TCP的标准应用层协议有很多,如HTTP等,由于标准应用层协议能够适用于不同类型的业务,因此本申请不需要针对不同类型业务制定特定的二进制通讯协议,降低了开发成本。并且,不需要集成各类型二进制通讯协议的解析和包装方法,降低了数据传输组件的业务耦合程度。
进一步,由于本申请使用标准应用层协议代替传统二进制通讯协议,使得数据传输不再需要关心具体业务,因此其扩展性变得更强,可以适用于多种类型的业务。
进一步地,以手机向车机发送导航路线数据为例,对本申请方案进行介绍。
手机安装有客户端Demo,该客户端Demo为集成有第一数据传输组件SDK的地图应用,车机安装有服务端Demo,该服务端Demo为集成有第二数据传输组件SDK的地图应用。
首先,手机与车机通过蓝牙建立物理连接。
客户端Demo设置端口为localhost:8080。通过对端口8080进行监听,获取路线数据的TCP数据包。并将TCP数据包按照约定的协议进行封装,得到封装后的TCP数据包。客户端Demo通过建立的蓝牙物理连接,将封装后的TCP数据包传递至车机的服务端Demo。
服务端Demo接收封装后的TCP数据包,并按照约定的协议进行解析,得到路线数据,将路线数据转交给地图应用的具体业务逻辑。
上述实施例中分别介绍了两种不同的数据传输组件,分别应用于数据发送端和数据接收端,可以理解的是,数据发送端和数据接收端仅仅是按照数据流向而定义的,对于一个终端而言,其可能在不同场景中同时作为数据发送端和数据接收端。基于此,本申请可以将上述应用于数据发送端和数据接收端的组件进行组合,得到组合后的一个组件,该组合后的组件即可以应用于数据发送端,又可以应用于数据接收端,即其能够实现数据的发送以及数据的接收。
参见图5所示,其示例了一种数据传输组件层次架构示意图。
该组件可以由应用层、传输控制层和连接层组成。其中,连接层提供一些连接方式,如蓝牙连接、WiFi连接、USB连接等。应用层提供一些协议,如HTTP协议、FTP协议、RTSP协议等。传输控制层用于控制数据传输过程的逻辑,如对数据进行校验、加密、数据包解析和封装等。其中:
第一物理连接模块和第二物理连接模块对应于图5中连接层,二者之间建立物理连接,包括蓝牙连接、WIFI连接、USB连接等。
第一TCP协议模块和第二TCP协议模块对应于图5中应用层,根据应用层提供的协议对TCP数据包进行转发。
第一TCP代理模块和第二TCP代理模块对应于图5中传输控制层,根据传输控制层提供的功能,实现对TCP数据包的封装,以及对物理连接传输数据的解封。进一步,如果需要还可以增加对数据加密、校验的过程。
与上述实施例的数据传输组件相对应的,本申请实施例还介绍了一种数据传输方法,下文描述的数据传输方法与上文描述的数据传输组件可相互对应参照。
接下来,从数据发送端的角度,介绍一种数据传输方法,参见图6所示,该方法可以包括:
步骤S100、建立与数据接收端之间的物理连接;
具体地,为了实现数据发送端与数据接收端间的通信,需要建立数据发送端与数据接收端之间的物理连接。该物理连接可以是蓝牙连接、USB连接等。
步骤S110、获取目标应用通过TCP协议发送的TCP数据包;
具体地,数据发送端安装有目标应用,向数据接收端发送的数据即由该目标应用提供。本步骤中,获取目标应用通过TCP协议发送的TCP数据包。
步骤S120、将获取的TCP数据包进行封装,得到物理连接传输数据;
步骤S130、将所述物理连接传输数据通过所述物理连接传输至所述数据接收端。
本实施例公开的应用于数据发送端的数据传输方法,通过将物理连接桥接到TCP之上,对外暴露给目标应用的是TCP连接,仅需要目标应用提供TCP数据包即可,基于TCP的标准应用层协议有很多,如HTTP等,由于标准应用层协议能够适用于不同类型的业务,因此本申请不需要针对不同类型业务制定特定的二进制通讯协议,降低了开发成本。并且,不需要集成各类型二进制通讯协议的解析和包装方法,降低了数据传输组件的业务耦合程度。
进一步,由于本申请使用标准应用层协议代替传统二进制通讯协议,使得数据传输不再需要关心具体业务,因此其扩展性变得更强,可以适用于多种类型的业务。
其中可选的,步骤S110,获取目标应用通过TCP协议发送的TCP数据包的过程,具体可以包括:
对预先设置的端口进行监听,以通过所述端口接收到所述目标应用通过TCP协议发送的TCP数据包。
进一步,对上述步骤S130,将所述物理连接传输数据通过所述物理连接传输至所述数据接收端的过程进行介绍,该过程可以包括:
S1、通过所述物理连接,向所述数据接收端发送建立业务传输通道的控制命令;
S2、接收所述数据接收端响应所述控制命令后返回的业务通道标识;
S3、在所述物理连接传输数据上添加所述业务通道标识,并通过所述物理连接,将添加了业务通道标识的物理连接传输数据传输至所述数据接收端。
其中,向数据接收端发送的控制命令可以携带第一通道标识,该第一通道标识不同于业务通道标识。
进一步,物理连接传输数据可能存在多种不同类型,如路线数据业务、POI数据业务、控制数据业务、收藏数据业务等。为了对不同类型传输数据进行区分,本申请可以为不同类型的物理连接传输数据设置不同的业务通道标识。
因此,向数据接收端发送的建立业务传输通道的控制命令中可以携带所述物理连接传输数据的类型,进而由数据接收端生成与该类型对应的业务通道标识,并返回给数据发送端。基于此,对于不同类型的物理连接传输数据,其传输过程所携带的业务通道标识是不同的,便于对不同类型数据进行区分。
进一步,从数据接收端的角度,介绍一种数据传输方法,参见图7所示,该方法可以包括:
步骤S200、建立与数据发送端间的物理连接;
步骤S210、接收所述数据发送端通过所述物理连接传输来的物理连接传输数据;
具体地,数据接收端将目标应用提供的TCP数据包按照约定的协议进行封装之后,得到物理连接传输数据,并发送给数据接收端。
步骤S220、对所述物理连接传输数据进行解析,得到目标应用的TCP数据包;
具体地,与HTTP数据包封装过程相对应的,本步骤中使用约定的协议对物理连接传输数据进行解析,从而解析得到TCP数据包。
步骤S230、将所述TCP数据包通过TCP协议传递至所述目标应用。
本实施例公开的应用于数据接收端的数据传输方法,将物理连接桥接到TCP之上,对外暴露给目标应用的是TCP连接,接收的物理连接传输数据是对TCP数据包进行封装后的,因此本实施例可以对接收的物理连接传输数据进行解析,得到TCP数据包并传递给目标应用。基于TCP的标准应用层协议有很多,如HTTP等,由于标准应用层协议能够适用于不同类型的业务,因此本申请不需要针对不同类型业务制定特定的二进制通讯协议,降低了开发成本。并且,不需要集成各类型二进制通讯协议的解析和包装方法,降低了数据传输组件的业务耦合程度。
进一步,由于本申请使用标准应用层协议代替传统二进制通讯协议,使得数据传输不再需要关心具体业务,因此其扩展性变得更强,可以适用于多种类型的业务。
可选的,本实施例介绍了上述步骤S210,接收所述数据发送端通过所述物理连接传输来的物理连接传输数据的一种实现过程,具体可以包括:
S1、接收所述数据发送端通过所述物理连接发送的建立业务传输通道的控制命令;
S2、响应所述控制命令,分配业务通道标识并将所述业务通道标识返回给所述数据发送端;
S3、接收所述数据发送端通过所述物理连接发送的添加有所述业务通道标识的物理连接传输数据。
其中,接收的控制命令可以携带有第一通道标识,该第一通道标识不同于业务通道标识。
进一步可选的,数据接收端在确定接收到的物理连接传输数据需要返回响应数据时,可以将添加有所述业务通道标识的响应数据发送至所述数据发送端。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种数据传输组件,其特征在于,包括:第一物理连接模块、第一TCP协议模块和第一TCP代理模块,其中,
第一物理连接模块,用于与独立于所述数据传输组件的第二物理连接模块建立物理连接;
第一TCP协议模块,用于通过TCP协议发送目标应用的TCP数据包至所述第一TCP代理模块;
第一TCP代理模块,用于将获取的TCP数据包进行封装,得到物理连接传输数据,并将物理连接传输数据传递给第一物理连接模块;
第一物理连接模块,还用于将所述物理连接传输数据通过所述物理连接传输至所述第二物理连接模块。
2.根据权利要求1所述的组件,其特征在于,所述第一TCP协议模块通过TCP协议发送目标应用的TCP数据包至所述第一TCP代理模块的过程,具体包括:
通过TCP协议发送目标应用的TCP数据包至所述第一TCP代理模块预先设置的端口;
所述第一TCP代理模块具体包括:
监听模块,用于对所述预先设置的端口进行监听,以获取TCP数据包;
封装模块,用于将所述TCP数据包进行封装,得到物理连接传输数据,并将所述物理连接传输数据传递给第一物理连接模块。
3.根据权利要求1所述的组件,其特征在于,所述第一物理连接模块将所述物理连接传输数据通过所述物理连接传输至所述第二物理连接模块的过程,具体包括:
通过所述物理连接,发送建立业务传输通道的控制命令至所述第二物理连接模块,及接收所述第二物理连接模块响应所述控制命令后返回的业务通道标识;
在所述物理连接传输数据上添加所述业务通道标识,并通过所述物理连接,将添加了业务通道标识的物理连接传输数据传输至所述第二物理连接模块。
4.一种数据传输组件,其特征在于,包括:第二物理连接模块、第二TCP协议模块和第二TCP代理模块,其中,
第二物理连接模块,用于与独立于所述数据传输组件的第一物理连接模块建立物理连接,通过所述物理连接,接收所述第一物理连接模块传输来的物理连接传输数据;
第二TCP代理模块,用于将获取的所述物理连接传输数据进行解析,得到目标应用的TCP数据包,并将所述TCP数据包通过TCP协议传递至所述第二TCP协议模块;
第二TCP协议模块,用于获取TCP数据包,并将所述TCP数据包传递至所述目标应用。
5.根据权利要求4所述的组件,其特征在于,所述第二TCP代理模块将所述TCP数据包通过TCP协议传递至所述第二TCP协议模块的过程,具体包括:
通过TCP协议发送所述TCP数据包至所述第二TCP协议模块预先设置的端口;
所述第二TCP协议模块具体包括:
监听模块,用于对预先设置的端口进行监听,以获取TCP数据包;
发送模块,用于将获取的TCP数据包传递至所述目标应用。
6.根据权利要求4所述的组件,其特征在于,所述第二物理连接模块通过所述物理连接,接收所述第一物理连接模块传输来的物理连接传输数据的过程,具体包括:
接收所述第一物理连接模块通过所述物理连接发送的建立业务传输通道的控制命令;
响应所述控制命令,分配业务通道标识并将所述业务通道标识返回给所述第一物理连接模块;
接收所述第一物理连接模块通过所述物理连接发送的添加有所述业务通道标识的物理连接传输数据。
7.根据权利要求6所述的组件,其特征在于,在接收到的物理连接传输数据需要返回响应数据时,
所述第二物理连接模块,还用于将添加有所述业务通道标识的响应数据发送至所述第一物理连接模块。
8.一种数据传输方法,其特征在于,应用于数据发送端,该方法包括:
建立与数据接收端之间的物理连接;
获取目标应用通过TCP协议发送的TCP数据包;
将获取的TCP数据包进行封装,得到物理连接传输数据;
将所述物理连接传输数据通过所述物理连接传输至所述数据接收端。
9.根据权利要求8所述的方法,其特征在于,所述获取目标应用通过TCP协议发送的TCP数据包,包括:
对预先设置的端口进行监听,以通过所述端口接收到所述目标应用通过TCP协议发送的TCP数据包。
10.根据权利要求8所述的方法,其特征在于,所述将所述物理连接传输数据通过所述物理连接传输至所述数据接收端,包括:
通过所述物理连接,向所述数据接收端发送建立业务传输通道的控制命令;
接收所述数据接收端响应所述控制命令后返回的业务通道标识;
在所述物理连接传输数据上添加所述业务通道标识,并通过所述物理连接,将添加了业务通道标识的物理连接传输数据传输至所述数据接收端。
11.一种数据传输方法,其特征在于,应用于数据接收端,该方法包括:
建立与数据发送端间的物理连接;
接收所述数据发送端通过所述物理连接传输来的物理连接传输数据;
对所述物理连接传输数据进行解析,得到目标应用的TCP数据包;
将所述TCP数据包通过TCP协议传递至所述目标应用。
12.根据权利要求11所述的方法,其特征在于,所述接收所述数据发送端通过所述物理连接传输来的物理连接传输数据,包括:
接收所述数据发送端通过所述物理连接发送的建立业务传输通道的控制命令;
响应所述控制命令,分配业务通道标识并将所述业务通道标识返回给所述数据发送端;
接收所述数据发送端通过所述物理连接发送的添加有所述业务通道标识的物理连接传输数据。
13.根据权利要求12所述的方法,其特征在于,还包括:
在接收到的物理连接传输数据需要返回响应数据时,将添加有所述业务通道标识的响应数据发送至所述数据发送端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710547314.7A CN109428851B (zh) | 2017-07-06 | 2017-07-06 | 一种数据传输组件及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710547314.7A CN109428851B (zh) | 2017-07-06 | 2017-07-06 | 一种数据传输组件及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109428851A true CN109428851A (zh) | 2019-03-05 |
CN109428851B CN109428851B (zh) | 2021-08-10 |
Family
ID=65497351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710547314.7A Active CN109428851B (zh) | 2017-07-06 | 2017-07-06 | 一种数据传输组件及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109428851B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141375A (zh) * | 2006-09-05 | 2008-03-12 | 华为技术有限公司 | 一种局域网内部的报文传输方法、传输装置及系统 |
CN101369960A (zh) * | 2007-08-17 | 2009-02-18 | 华为技术有限公司 | 在下一代网络中处理消息的方法、装置及系统 |
CN102347955A (zh) * | 2011-11-01 | 2012-02-08 | 杭州依赛通信有限公司 | 一种基于虚拟通道的可靠数据传输协议 |
CN102769780A (zh) * | 2011-05-05 | 2012-11-07 | 北京四达时代软件技术股份有限公司 | 一种数字电视数据推送方法及装置 |
CN103200072A (zh) * | 2013-05-06 | 2013-07-10 | 吉林省金港计算机网络有限公司 | 一种基于网络的数据传输方法、装置及系统 |
CN104125208A (zh) * | 2013-10-15 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
CN105120009A (zh) * | 2015-09-14 | 2015-12-02 | 百度在线网络技术(北京)有限公司 | 终端互联方法及装置 |
CN105450556A (zh) * | 2014-09-24 | 2016-03-30 | 北京佰才邦技术有限公司 | 信息传输方法和装置 |
CN105847141A (zh) * | 2016-01-25 | 2016-08-10 | 乐卡汽车智能科技(北京)有限公司 | 在具有多个通信链路的通信设备上的通信方法及通信设备 |
CN105933204A (zh) * | 2016-04-18 | 2016-09-07 | 北京奇虎科技有限公司 | 第一设备向第二设备发送同步消息的方法和装置 |
CN106357607A (zh) * | 2016-07-20 | 2017-01-25 | 北京海誉动想科技股份有限公司 | 电子设备连接与安全验证、通信、通信监测方法及装置 |
-
2017
- 2017-07-06 CN CN201710547314.7A patent/CN109428851B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141375A (zh) * | 2006-09-05 | 2008-03-12 | 华为技术有限公司 | 一种局域网内部的报文传输方法、传输装置及系统 |
CN101369960A (zh) * | 2007-08-17 | 2009-02-18 | 华为技术有限公司 | 在下一代网络中处理消息的方法、装置及系统 |
CN102769780A (zh) * | 2011-05-05 | 2012-11-07 | 北京四达时代软件技术股份有限公司 | 一种数字电视数据推送方法及装置 |
CN102347955A (zh) * | 2011-11-01 | 2012-02-08 | 杭州依赛通信有限公司 | 一种基于虚拟通道的可靠数据传输协议 |
CN103200072A (zh) * | 2013-05-06 | 2013-07-10 | 吉林省金港计算机网络有限公司 | 一种基于网络的数据传输方法、装置及系统 |
CN104125208A (zh) * | 2013-10-15 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
CN105450556A (zh) * | 2014-09-24 | 2016-03-30 | 北京佰才邦技术有限公司 | 信息传输方法和装置 |
CN105120009A (zh) * | 2015-09-14 | 2015-12-02 | 百度在线网络技术(北京)有限公司 | 终端互联方法及装置 |
CN105847141A (zh) * | 2016-01-25 | 2016-08-10 | 乐卡汽车智能科技(北京)有限公司 | 在具有多个通信链路的通信设备上的通信方法及通信设备 |
CN105933204A (zh) * | 2016-04-18 | 2016-09-07 | 北京奇虎科技有限公司 | 第一设备向第二设备发送同步消息的方法和装置 |
CN106357607A (zh) * | 2016-07-20 | 2017-01-25 | 北京海誉动想科技股份有限公司 | 电子设备连接与安全验证、通信、通信监测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109428851B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102457409B (zh) | 链路故障检测方法及系统 | |
EP3603027A1 (en) | Interworking lpwan end nodes in mobile operator network | |
CN105391681B (zh) | 通信系统、通信设备、车辆和通信方法 | |
CN109729096A (zh) | 移动通信方法、装置及设备 | |
RU2005114026A (ru) | Способ и устройство для скрытия истинной идентификационной информации пользователя в системе связи | |
CN101730094B (zh) | 一种终端设备接入安防系统业务平台及信息传送方法 | |
US8190764B2 (en) | Method and system for an intercept chain of custody protocol | |
CN113056898B (zh) | 获取密钥的方法、装置及密钥管理系统 | |
CN105191210B (zh) | 用于针对d2d服务的策略控制和收费的方法 | |
CN105872039A (zh) | 终端设备间传输文件的方法、终端设备及文件传输系统 | |
CN110536246A (zh) | 一种设备防丢失方法及系统 | |
CN105530681A (zh) | 业务处理方法及装置 | |
WO2022052092A1 (en) | Connection establishment for a layer 2 ue-to-network relay | |
DE60131765D1 (de) | Verfahren zur verbindung mehrerer kommunikationsbusse mit drahtlosen verbindungen | |
US20070289007A1 (en) | Authentication Proxy Method, Distribution Management Device, And Authentication Proxy Method Program | |
US20100183152A1 (en) | Network and method for initializing a trust center link key | |
CN106454993A (zh) | 一种设备到设备网络中中继节点的选择方法及装置 | |
CN101668258B (zh) | 一种数据传输的方法、系统和装置 | |
CN104580346A (zh) | 数据传输方法及装置 | |
US20060034203A1 (en) | Mobile communication system and service control device | |
CN109428851A (zh) | 一种数据传输组件及方法 | |
CN106034299A (zh) | 一种sctp连接重建立方法和装置 | |
CN105580425A (zh) | 用于数据连接的按需QoS | |
CN102281580A (zh) | M2m系统及其业务处理方法 | |
CN111917650B (zh) | 确定通用路由封装gre隧道标识的方法、设备和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200429 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 100080 Beijing City, Haidian District Suzhou Street No. 3 floor 16 room 2 Applicant before: AUTONAVI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |