一种数据发送和接收方法、设备以及数据传输系统技术方案

技术编号:15794942 阅读:244 留言:0更新日期:2017-07-10 10:32
本发明专利技术公开了一种数据发送方法,包括:将待发送的数据进行组包,并为每个数据包分配一个数据标识,以得到每个数据标识对应的第一类型数据包;将第一类型数据包分成多个子包后进行编号,以得到每个数据标识对应的第二类型数据包;分别将每个数据标识所对应的第一类型数据包以TCP协议、第二类型数据包以UDP协议发送给数据接收方。本发明专利技术还公开了对应的数据接收方法,若接受方先接收到某个数据标识所对应的第一类型数据包,则停止接收其对应的第二类型数据包,并清除掉已接收的第二类型数据包。若已接收的第二类型数据包能够组成完整的第一类型数据包,则停止接收对第一类型数据包。本发明专利技术还公开了对应的数据发送设备、接收设备和数据传输系统。

【技术实现步骤摘要】
一种数据发送和接收方法、设备以及数据传输系统
本专利技术涉及移动通信领域,尤其涉及一种数据发送和接收方法、设备以及数据传输系统。
技术介绍
TCP(TransmissionControlProtocol传输协议)、UDP(UserDatagramProtocol用户数据包协议)是两种不同的传输协议。TCP是一种面向连接的协议,提供IP环境下的数据可靠传输。通过接收端返回每一个发送IP数据包的确认消息,对没有收到确认消息的数据包进行重传,保证了数据传输的可靠性。但这个过程也降低了数据包的传输速度。UDP是一种面向非连接的协议,不与对方建立连接直接发送数据包,因此其传输速度快于TCP传输。但在传输过程中并不返回确认信息,接收端在没有收到相应数据包的情况下,不能通知发送端重新发送,其是一种不可靠的信息传输协议,不能保证接收数据的完整性。综上,在丢包率较高的网络环境中,使用TCP网络传输会导致数据传输高延迟,使用UDP网路传输会导致数据传输不可靠。因此,需要提供一种可以兼顾低延迟与可靠性两种优点的数据传输方案。
技术实现思路
鉴于上述问题,本专利技术提出了一种数据发送和接收方法、设备以及数据传输系统,以力图解决或者至少解决上面存在的问题。根据本专利技术的一个方面,提供一种数据发送方法,适于在网络设备中执行,包括步骤:将待发送的数据进行数据组包,并为每个组包后的数据包分配一个唯一的数据标识,从而得到每个数据标识所对应的第一类型数据包;将第一类型数据包分成多个子包,并为每个子包进行编号,从而得到每个数据标识所对应的第二类型数据包;以及经由网络分别将每个数据标识所对应的第一类型数据包以TCP协议、第二类型数据包以UDP协议发送给数据接收方。可选地,在根据本专利技术的数据发送方法中,将第一类型数据包分成多个子包的步骤包括:将数据容量超过UDP数据包容量范围的第一类型数据包分成多个子包。根据本专利技术的另一个方面,提供一种数据接收方法,适于在网络设备中执行,包括步骤:创建一个用于接收数据包的队列;经由网络以TCP协议接收第一类型数据包、以UDP协议接收第二类型数据包,并将接收到的各数据包存储到队列中,其中,每个第一类型数据包对应于一个唯一的数据标识,第二类型数据包是将第一类型数据包分包为多个子包并为每个子包进行编号之后形成,每个第二类型数据包同样对应于一个数据标识;对于任一数据标识,如果先接收到该数据标识所对应的第一类型数据包,则停止接收该数据标识所对应的第二类型数据包,并清除在队列中已接收到的第二类型数据包;以及对于任一数据标识,如果在队列中存储的一个或者多个第二类型数据包能够组成完整的第一类型数据包,则停止接收该数据标识所对应的第一类型数据包。可选地,在根据本专利技术的数据接收方法中,还包括步骤:在队列中对已接收到的第二类型数据包的数据标识和子包编号进行记录。可选地,在根据本专利技术的数据接收方法中,还包括步骤:对于某个数据标识,如果数据接收设备已完整接收该数据标识所对应的第一型数据包或第二型数据包,则在队列中将该数据标识所对应的数据包标记为已完整,并取出该数据包进行处理。根据本专利技术的又一个方面,提供一种数据发送设备,包括:数据组包单元,适于将待发送的数据进行数据组包,并为每个组包后的数据包分配一个唯一的数据标识,从而得到每个数据标识所对应的第一类型数据包;子包分割单元,适于将第一类型数据包分成多个子包,并为每个子包进行编号,从而得到每个数据标识所对应的第二类型数据包;以及数据发送单元,适于经由网络分别将每个数据标识所对应的第一类型数据包以TCP协议、第二类型数据包以UDP协议发送给数据接收设备。根据本专利技术的又一个方面,提供一种数据接收设备,包括:队列创建单元,适于创建一个用于接收数据包的队列;数据接收单元,适于经由网络以TCP协议接收第一类型数据包,并以UDP协议接收第二类型数据包,并将接收到的各数据包存储到队列中,其中,每个第一类型数据包对应于一个唯一的数据标识,第二类型数据包是将第一类型数据包分包为多个子包并为每个子包进行编号之后形成,每个第二类型数据包同样对应于一个数据标识;以及终止单元,适于当先接收到某个数据标识所对应的第一类型数据包时,停止接收该数据标识所对应的第二类型数据包,并清除在队列中已接收到的第二类型数据包;对于任一数据标识,终止单元还适于当队列中存储的一个或者多个第二类型数据包能够组成完整的第一类型数据包时,停止接收该数据标识所对应的第一类型数据包。根据本专利技术的又一个方面,提供一种数据传输系统,包括:如上所述的数据发送设备和数据接收设备;其中,数据发送设备经由网络将数据发送给数据接收设备。根据本专利技术的又一个方面,提供一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据如上所述的方法中的任一方法的指令。根据本专利技术的又一个方面,提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据如上所述的方法中的任一方法。根据本专利技术的技术方案,数据发送端将待发送的数据组包后分配一个数据标识,以TCP协议发送一次;再把组包后的数据分成多个子包,进行编号后通过UDP协议发送一次。数据接收方只要先完整接收了一种形式的数据包,则直接停止接收并清除掉另一种形式的数据包。这样既保证了数据传输的完整性,还提高了数据传输的效率。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本专利技术一个实施例的数据传输系统100的结构框图;图2示出了根据本专利技术一个实施例的数据发送设备200和数据接收设备300的结构框图;图3示出了根据本专利技术一个实施例的数据发送方法400的流程图;图4示出了根据本专利技术一个实施例的数据接收方法500的流程图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的数据传输系统100的示意图。如图所示,系统100包括数据发送设备200和数据接收设备300(如图1中的数据接收设备1-4),其中,数据发送设备200和数据接收设备300通过数据网络进行数据传输。数据发送设备200可以实现为服务器,例如文件服务器、数据存储装置服务器、应用程序服务器和WEB服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,还可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如手机、平板电脑、个人媒体播放器设备、无线网络浏览设备、可穿戴设备(如智能手表、智能眼镜等)、应用专用设备、或者可以包括上面任何功本文档来自技高网...
一种数据发送和接收方法、设备以及数据传输系统

【技术保护点】
一种数据发送方法,适于在网络设备中执行,包括步骤:将待发送的数据进行数据组包,并为每个组包后的数据包分配一个唯一的数据标识,从而得到每个数据标识所对应的第一类型数据包;将第一类型数据包分成多个子包,并为每个子包进行编号,从而得到每个数据标识所对应的第二类型数据包;以及经由网络将每个数据标识所对应的第一类型数据包以TCP协议、第二类型数据包以UDP协议发送给数据接收方。

【技术特征摘要】
1.一种数据发送方法,适于在网络设备中执行,包括步骤:将待发送的数据进行数据组包,并为每个组包后的数据包分配一个唯一的数据标识,从而得到每个数据标识所对应的第一类型数据包;将第一类型数据包分成多个子包,并为每个子包进行编号,从而得到每个数据标识所对应的第二类型数据包;以及经由网络将每个数据标识所对应的第一类型数据包以TCP协议、第二类型数据包以UDP协议发送给数据接收方。2.如权利要求1所述的方法,其中,所述将第一类型数据包分成多个子包的步骤包括:将数据容量超过UDP数据包容量范围的第一类型数据包分成多个子包。3.一种数据接收方法,适于在网络设备中执行,包括步骤:创建一个用于接收数据包的队列;经由网络以TCP协议接收第一类型数据包,并以UDP协议接收第二类型数据包,并将接收到的各数据包存储到所述队列中,其中,每个第一类型数据包对应于一个唯一的数据标识,第二类型数据包是将第一类型数据包分包为多个子包并为每个子包进行编号之后形成,每个第二类型数据包同样对应于一个数据标识;对于任一数据标识,如果先接收到该数据标识所对应的第一类型数据包,则停止接收该数据标识所对应的第二类型数据包,并清除在所述队列中已接收到的第二类型数据包;以及对于任一数据标识,如果在所述队列中存储的一个或者多个第二类型数据包能够组成完整的第一类型数据包,则停止接收该数据标识所对应的第一类型数据包。4.如权利要求3所述的方法,还包括步骤:在所述队列中对已接收到的第二类型数据包的数据标识和子包编号进行记录。5.如权利要求3所述的方法,还包括步骤:对于某个数据标识,如果数据接收设备已完整接收该数据标识所对应的第一型数据包或第二型数据包,则在队列中将该数据标识所对应的数据包标记为已完整,并取出该数据包进行处理。6.一种数据发送设备,包括:数据组包单元,适于将待发送的数据进行数据组包...

【专利技术属性】
技术研发人员:陈亮李启林张敏之季念星陈李江
申请(专利权)人:海南云江科技有限公司
类型:发明
国别省市:海南,46

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1