CN115174490B - 一种数据传输方法及网络应用终端 - Google Patents

一种数据传输方法及网络应用终端 Download PDF

Info

Publication number
CN115174490B
CN115174490B CN202210683193.XA CN202210683193A CN115174490B CN 115174490 B CN115174490 B CN 115174490B CN 202210683193 A CN202210683193 A CN 202210683193A CN 115174490 B CN115174490 B CN 115174490B
Authority
CN
China
Prior art keywords
data
data packet
data block
transmission
storage unit
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.)
Active
Application number
CN202210683193.XA
Other languages
English (en)
Other versions
CN115174490A (zh
Inventor
史为平
王宗苗
吕焱飞
郭鹰鸿
李朋飞
王熙星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Huaray Technology Co Ltd
Original Assignee
Zhejiang Huaray Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Huaray Technology Co Ltd filed Critical Zhejiang Huaray Technology Co Ltd
Priority to CN202210683193.XA priority Critical patent/CN115174490B/zh
Publication of CN115174490A publication Critical patent/CN115174490A/zh
Application granted granted Critical
Publication of CN115174490B publication Critical patent/CN115174490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Abstract

本发明提供了一种数据传输方法及网络应用终端,属于网络数据传输技术领域,方法包括:根据采集频率采集待传输的数据,生成数据块并缓存,数据块和缓存的对应存储单元之间具有映射关系;将缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送数据包;当接收到重传请求时,若判断出满足预设的传输调整条件时,调整传输链路上的数据包传输速率;且根据调整后的传输速率发送存储单元中待发送的数据包,以及根据重传请求中携带的数据块标识和数据包标识,根据映射关系,采用调整后的传输速率重传对应存储单元中的数据包。本发明的技术方案,可自适应当前的网络环境,根据当前网络环境自动调整传输速率。

Description

一种数据传输方法及网络应用终端
技术领域
本发明涉及网络数据传输领域,尤其是一种数据传输方法及网络应用终端。
背景技术
在网络传输过程中,由于各种网络原因会导致传输时产生丢包的问题,发生丢包后,接收端会向发送端请求重传对应的数据包。
而传输中一旦需要重传,重传所产生的数据量会增加网络带宽的传输压力,而丢包需要重传时,可能是由于当前的网络传输环境传输压力大、不稳定导致的,而重传会进一步的导致传输数据量的增加,若有较多的重传易加剧传输链路的堵塞,引起更多的重传,使得网络传输压力进一步增大,产生更多的丢包问题,如此反复,会打破原有的网络平衡,严重时会进入恶性循环,甚至会使网络瘫痪。
因此,由于网络环境不稳定造成丢包需要重传时,不额外增加网络的传输压力,自适应当前的网络的传输环境,降低丢包的概率,是一个需要解决的技术问题。
发明内容
为解决上述技术问题,本发明实施例提供了一种数据传输方法及一种网络应用终端,可自适应当前网络环境,自动调整传输速率,使网络传输处于动态平衡中,提高了网络传输系统的稳定性。
第一方面,本发明实施例提供了一种数据传输方法,包括:
根据采集频率采集待传输的数据,生成数据块并缓存,所述数据块和缓存的对应存储单元之间具有映射关系;
将缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送所述数据包;
当接收到重传请求时,若判断出满足预设的传输调整条件时,调整所述传输链路上的数据包传输速率;且根据调整后的传输速率发送存储单元中待发送的数据包,以及根据所述重传请求中携带的数据块标识和数据包标识,根据所述映射关系,采用调整后的传输速率重传对应存储单元中的数据包。
本发明实施例的技术方案,根据接收到的重传请求来推断当前的网络状态,确定接收到的重传请求满足预设的传输调整条件时,网络状态可能是变得恶化,或是变得向好,若网络状态恶化,推测当前的网络传输压力较大,若再继续采用原方式传输,还会产生丢包,甚至会使得当前网络传输环境进一步恶化,因此,调整传输链路上的数据包传输速率,降低当前网络的传输压力,以适应当前的网络传输环境,减少相对丢包的概率;当网络环境逐步向好时,调整传输速率,恢复此前的传输速率,或是提高传输速率,将积压的未发送的数据块尽快发送。本发明的实施例,利用接收到的重传请求推测当前网络传输状态,并根据网络传输状态,自动调整数据包传输速率,避免因网络原因产生丢包重传而使得网络传输压力进一步增大可能导致的网络瘫痪,降低丢包概率,使网络传输处于动态平衡中,提高了网络传输系统的稳定性。
在一些实施例中,若判断出不满足预设的传输调整条件时,采用当前的数据包传输速率发送存储单元中待发送的数据包,以及根据所述重传请求中携带的数据块标识和数据包标识,根据所述映射关系,采用当前的传输速率重传对应存储单元中的数据包。
本发明的实施例,当接收到重传请求但不满足预设的传输调整条件时,仍然采用原传输速率发送数据包,充分考虑到因偶发性因素产生的丢包问题,在调整传输速率时,将偶发性因素排除,提高了调整传输速率的准确性。
在一些实施例中,所述满足预设的传输调整条件,具体包括:当前重传数据量增加率大于第一阈值,或者当前重传数据量减少率小于第二阈值。
本发明实施例的技术方案,可根据不同的网络环境自行定义单位时长及第一阈值、第二阈值,当重传数据量增加率大于第一阈值时,减小传输链路上的数据包传输速率,重传数据量减少率小于第二阈值时,增大传输链路上的数据包传输速率,以实现根据当前的网络状态自适应调整,可满足各种网络环境的需要并根据网络实际情况确定不同的第一阈值、第二阈值,为如何确定传输调整条件提供一种简便可行的技术方案。
在一些实施例中,所述满足预设的传输调整条件,具体包括:所述重传请求频率大于第三阈值,或者所述重传请求频率小于第四阈值;所述第三阈值大于所述第四阈值。
在一些实施例中,所述调整所述传输链路上的数据包传输速率,具体包括:
若所述重传数据量增加率大于第一阈值,则减小所述传输链路上的数据包传输速率;若所述重传数据量减少率小于第二阈值,则增大所述传输链路上的数据包传输速率;
若所述重传请求频率大于第三阈值,则减小所述传输链路上的数据包传输速率;若所述重传请求频率小于第四阈值,则增大所述传输链路上的数据包传输速率。
在一些实施例中,所述减小/增大所述传输链路上的数据包传输速率,具体包括:
渐进式增加/减小所述数据包的发送间隔;和/或,渐进式减小/增大所述数据包的发送容量。
在一些实施例中,当接收到重传请求时,若判断出满足预设的传输调整条件时,还包括:提高/降低所述采集频率。
在一些实施例中,所述数据块和缓存的对应存储单元之间具有映射关系,具体包括:所述数据块标识还包含标识序号,所述数据块的标识序号与表征所述缓存的对应存储单元的标识序号具有对应关系。
本发明的实施例,不需要网络应用终端开辟存储空间并管理发送的数据块与当前存储单元的对应关系,节省了网络应用终端的存储空间,且在接收到重传请求时,根据重传请求中携带的数据块包含的标识序号即可确定存储单元的标识序号并确定对应的存储单元,省略了网络应用终端的计算资源及查找时间,节省了网络应用终端的资源开销。
在一些实施例中,在根据所述映射关系,采用调整后的传输速率重传对应存储单元中的数据包之前,还包括:确定接收到的所述重传请求中的所述数据包未越界,具体包括:
比较所述重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值,若所述差值小于所述存储单元的数量,则确定需重传的所述数据包未越界。
本发明实施例的技术方案,在确定当前重传请求中的数据块是否越界时,未采用向网络应用终端问询当前重传请求所需要的数据块是否在网络应用终端中保存的方式,而是通过将重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号进行比较,若差值小于存储单元的数量则未越界,即根据重传请求中的数据块标识序号即可以确定所需要的数据块是否在网络应用终端中保存,本发明实施例的技术方案,不需要网络应用终端单独管理数据块与存储单元的对应关系,为确定需重传的数据包是否越界提供了一种新的技术方案。
第二方面,本发明实施例还提供了一种网络应用终端,包括采集模块、存储模块、发送模块、链路管理模块,
所述采集模块,用于根据采集频率采集待传输的数据,生成数据块并缓存,所述数据块和缓存的对应存储单元之间具有映射关系;
所述存储模块,用于缓存所述数据块;
所述发送模块,用于将所述存储模块缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送所述数据包;
所述链路管理模块,用于当接收到重传请求时,若判断出满足预设的传输调整条件时,控制所述发送模块调整所述传输链路上的数据包传输速率;且根据调整后的传输速率,控制所述发送模块发送存储单元中待发送的数据包,以及根据所述重传请求中携带的数据块标识和数据包标识,查找根据所述映射关系,采用调整后的传输速率控制所述发送模块重传对应存储单元中的数据包。
第三方面,本发明实施例还提供一种网络系统,包括网络应用端及服务应用端,
所述网络应用端,用于根据采集频率采集待传输的数据,生成数据块并缓存,所述数据块和缓存的对应存储单元之间具有映射关系;还用于,将缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路将所述数据包发送至所述服务应用端;还用于,当接收到重传请求时,若判断出满足预设的传输调整条件时,调整所述传输链路上的数据包传输速率;且根据调整后的传输速率发送存储单元中待发送的数据包,以及根据所述重传请求中携带的数据块标识和数据包标识,根据所述映射关系,采用调整后的传输速率重传对应存储单元中的数据包;
所述服务应用端,用于接收所述网络应用端发来的所述数据包,并根据所述数据包携带的数据块标识和数据包标识,按序重新组成所述数据块;还用于,检查所述数据块和所述数据包的连续性,判断是否丢包,确定丢包时,向所述网络应用端发送重传请求,所述重传请求中包含有确定丢包的数据块标识和数据包标识。
第四方面,本发明实施例还提供了一种电子设备,所述设备包括:处理器和存储器;
所述处理器用于调用所述存储器中存储的程序,当所述程序被执行时,使得处理器执行上述第一方面中任一项所述的方法。
采用本发明实施例技术方案的有益效果是,根据接收到的重传请求来推断当前的网络状态,确定接收到的重传请求满足预设的传输调整条件时,网络状态可能是变得恶化,或是变得向好,若网络状态恶化,推测当前的网络传输压力较大,若再继续采用原方式传输,还会产生丢包,甚至会使得当前网络传输环境进一步恶化,因此,调整传输链路上的数据包传输速率,降低当前网络的传输压力,以适应当前的网络传输环境,减少相对丢包的概率;当网络环境逐步向好时,调整传输速率,恢复此前的传输速率,或是提高传输速率,将积压的未发送的数据块尽快发送。本发明的实施例,利用接收到的重传请求推测当前网络传输状态,并根据网络传输状态,自动调整数据包传输速率,避免因网络原因产生丢包重传而使得网络传输压力进一步增大可能导致的网络瘫痪,降低丢包概率,使网络传输处于动态平衡中,提高了网络传输系统的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种缓冲区分区示例;
图2为本发明实施例提供的一种数据传输方法流程图;
图3为本发明实施例提供的一种接收到重传消息的示意图;
图4为本发明实施例提供的一种数据块标识与存储单元的标识的示意图;
图5为本发明实施例提供的一种越界检测流程图;
图6为本发明实施例提供的一种网络应用终端示意框图;
图7为本发明实施例提供的一种服务应用端示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
随着网络的发展与普及,很多的智能终端设备可以实现辅助管理,从而节省人力成本,比如安防监控系统,可以通过监控摄像头来完成监控并上传至云端服务器,实现治安防控,从而节省大量的人工管理成本。
但该种网络应用终端在实际的使用过程中,由于各种网络原因会导致传输数据时产生丢包问题,产生丢包后,接收端会向发送端请求重传对应的数据包,若产生重传,不可避免的会增加传输带宽,增加网络传输的压力,若丢包的原因是由于网络传输带宽压力过大而导致的丢包,那么重传会再次增大网络传输的压力,使网络传输变得更不稳定,若有较多的重传易加剧传输链路的堵塞,引起更多的重传,使得网络传输压力进一步增大,产生更多的丢包问题,如此反复,往往会打破原有的网络平衡,产生更多的丢包,严重时会甚至会使网络瘫痪。
因此,在网络环境不稳定的情况下,不额外增加网络的传输压力,自适应当前的网络传输环境,降低丢包的概率,是一个需要解决的技术问题。
本发明实施例提供了一种数据传输方法及一种网络应用终端,可应用于具有上述场景的各种网络终端,可以理解的是,本申请实施例对可应用的网络应用终端的具体类型不做任何限制。
在详细阐述本发明之前,首先对本发明相关的名词进行解释。
(1)缓存
缓存,可以是物理意义上的硬件概念,例如网络终端设备的多个硬件缓存;或者,缓存也可以是软件概念,相当于,硬件上并不存在多个缓存,而只是在逻辑上认为具有多个缓存。如果缓存是软件概念,那么例如,可以认为是将硬件上的一个(或多个)缓存进行了分区,不同的区域就认为是不同的缓存。当一个新的设备完成出厂设置后,缓存区通常不会发生变化。
如附图1所示,附图1为一种缓存区的示例,此处是以具有的32个区的缓存区为示例进行的描述,在实际的使用中,缓存区的数量是根据设备的实际情况而确定的。
随着新生成的数据增加,设备的多个缓存区中的数据会顺序的被新的数据所覆盖,如,此次生成的数据保存至Buffer00中,再次生成的新数据会被保存在Buffer01中,下一次的数据保存在Buffer02中,该过程通常是循环往复的过程,而总的缓存空间一般不是很大,因此,需要将保存到各个缓存区中的数据及时的上传,以免被新的数据所覆盖而导致原数据丢失。由于是顺序的覆盖,因此,保存在当前缓存区中的数据不会立即被设备中新生成的数据所覆盖而具有一定的保存时间,只需要确定在下一次被覆盖之前及时上传就可以了。
以图1为例,若此次生成的数据保存在Buffer00中,那么,再次生成的数据会被保存在Buffer01中,而不会覆盖Buffer00的数据,因此,保存在Buffer00中的数据仍然是最新的数据,只有当数据循环性的保存至Buffer31后,下一次生成的数据才会被保存至Buffer00中,从而覆盖掉原Buffer00中保存的数据,因此,对于保存在Buffer00中的数据,只需要确定在下一次被覆盖之前,及时上传数据即可,而并不需立即上传。
(2)重传数据量增加率/数据量减少率
重传数据量增加率,可以理解为,在同一单位时间内,当前的单位时间内所需要重传的数据量较前一单位时间内所要重传的数据量相比为增加时,待重传的数据量与单位时间的比值为重传数据量增加率。
重传数据量减少率,可以理解为,在同一单位时间内,当前的单位时间内所需要重传的数据量较前一单位时间内所要重传的数据量相比为减少时,待重传的数据量与单位时间的比值为重传数据量减少率。
如,设单位时间为一分钟,在当前的单位时间内,一分钟时长内所要重传的数据量为100M,前一分钟时长内所要重传的数据量为70M,那么,此次所要重传的数据量与前一分钟的数据量相比为增加,因此,当前时间内的重传数据量增加率为100M/Min。
若,设单位时间为一分钟,在当前的单位时间内,一分钟时长内所要重传的数据量为90M,前一分钟时长内所要重传的数据量为150M,那么,此次所要重传的数据量与前一分钟的数据量相比为减少,因此,当前时间内的重传数据量减少率为90M/Min。
本发明实施例提供了一种数据传输方法,包括:
根据采集频率采集待传输的数据,生成数据块并缓存,数据块和缓存的对应存储单元之间具有映射关系;
将缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送数据包;
当接收到重传请求时,若判断出满足预设的传输调整条件时,调整传输链路上的数据包传输速率;且根据调整后的传输速率发送存储单元中待发送的数据包,以及根据重传请求中携带的数据块标识和数据包标识,根据映射关系,采用调整后的传输速率重传对应存储单元中的数据包。
以下通过具体实施例进行说明,见图2所示,图2为本发明实施例提供的一种数据传输方法流程图。
S201:根据采集频率采集待传输的数据,生成数据块并缓存,数据块和缓存的对应存储单元之间具有映射关系;
在网络终端设备初次使用时,需要建立发送端和服务器接收端的之间的连接,并配置传输端口等完成传输链路初始化的操作,常见的链路有计算机网络通信、高低速数据接口等。
在完成链路初始化后,获取当前链路传输带宽的能力等级、数据包大小以及数据包最小传输间隔,并以此为基础,结合待传输数据块的大小,确定初始采集频率,该采集频率在初始化完成后,保存在设备中,并以此采集频率采集待传输的数据,生成数据块并缓存,数据块和缓存对应的存储单元之间具有映射关系。
S202:将缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送数据包;
在生成数据块以后,若当前的网络正常,网络设备将缓存的各数据块拆分成数据包后通过传输链路发送至服务器,数据包具有数据块标识和自身的数据包标识。
可选的,若发送的数据包是当前数据块的第一个数据包时,该数据包做特殊标记,使得接收方根据特殊标识确定该数据包为当前数据块的第一个数据包;若发送的数据包是当前数据块的最后一个数据包时,该数据包做特殊标记,使得接收方根据特殊标识确定该数据包为接收到的当前数据块的最后一个数据包,便接收方(服务端)的应用层恢复数据。
S203:接收到重传请求时,若判断是否满足预设的传输调整条件;若是,执行步骤S204,若否,执行步骤S205;
传输调整条件可根据当前网络的环境,和/或,当前网络终端设备的存储空间,和/或,发生重传的时间、和/或,重传数据包的容量大小等综合考虑具体设置,如可以根据网络终端设备的存储空间的大小来确定,若设备的缓存空间较小,比如小于1G时,接到重传请求即满足传输调整条件,即根据调整后的传输速率发送存储单元中待发送的数据包及重传对应的数据包,若设备的缓存空间较大,大于20G时,则在单位时间内(如一分钟内)收到的重传请求大于15条时,认为满足传输调整条件,再如,在网络繁忙的某段时间内(如每天晚18:00-22:00)接收到重传请求即满足传输调整条件,即根据调整后的传输速率发送存储单元中待发送的数据包及重传对应的数据包,若其它时间段内接收到重传请求在单位时间内(如一分钟内)收到的重传请求大于15条时,认为满足传输调整条件,或根据重传请求中需要重传数据的容量(可参考当前传输的带宽)来确定是否满足传输调整条件,再如,设当前的网络带宽为100M时,若所需重传的数据量大于100M时,即满足传输调整条件,传输调整条件可根据需要自行设置,此处不再举例。
S204:调整传输链路上的数据包传输速率;且根据调整后的传输速率发送存储单元中待发送的数据包,以及根据重传请求中携带的数据块标识和数据包标识,根据映射关系,采用调整后的传输速率重传对应存储单元中的数据包。
接收到重传请求并满足传输调整条件,可能是网络恶化,也可能是网络向好,若是网络恶化时,说明当前的网络传输环境并不是很稳定,可能存在网络带宽被占用,或是网络传输压力大,或是与网络终端设备同一网络内的其它设备正占用网络资源等情况而导致的网络不稳定,若继续采用此前的传输速率,很大概率还会出现丢包的情况并需要重传,重传产生的数据容量也是占用相应的带宽的,会使得网络传输压力进一步增加,为不额外增加网络带宽传输的压力,减少相对丢包的概率,因此,调整传输链路上的数据包传输速率,将需重传的数据包及存储单元中待发送的数据包,按调整后的速率进行发送,以适应当前的网络环境,降低网络带宽的传输压力,以减少相对丢包的概率。若是网络向好,同样需要调整传输链路上的数据包传输速率,可以恢复此前的传输速率或是提高传输速率,以将可能积压的未发送的数据块尽快发送出去。
本发明实施例的技术方案,根据接收到的重传请求来推断当前的网络状态,确定接收到的重传请求满足预设的传输调整条件时,网络状态可能是变得恶化,或是变得向好,若网络状态恶化,推测当前的网络传输压力较大,若再继续采用原方式传输,还会产生丢包,甚至会使得当前网络传输环境进一步恶化,因此,调整传输链路上的数据包传输速率,降低当前网络的传输压力,以适应当前的网络传输环境,减少相对丢包的概率;当网络环境逐步向好时,调整传输速率,恢复此前的传输速率,或是提高传输速率,将积压的未发送的数据块尽快发送。本发明的实施例,利用接收到的重传请求推测当前网络传输状态,并根据网络传输状态,自动调整数据包传输速率,避免因网络原因产生丢包重传而使得网络传输压力进一步增大可能导致的网络瘫痪,降低丢包概率,使网络传输处于动态平衡中,提高了网络传输系统的稳定性。
可选的,作为其中一种实施例,若判断出不满足预设的传输调整条件时,采用当前的数据包传输速率发送存储单元中待发送的数据包,以及根据重传请求中携带的数据块标识和数据包标识,根据映射关系,采用当前的传输速率重传对应存储单元中的数据包。
以下通过具体实施例说明,见图2所示。
步骤S201-S203的步骤与前述实施例相同,此处不再赘述,仅叙述与前述实施例不同的部分。
S203:接收到重传请求时,若判断是否满足预设的传输调整条件;若是,执行步骤S204,若否,执行步骤S205;
S205:若判断出不满足预设的传输调整条件时,采用当前的数据包传输速率发送存储单元中待发送的数据包,以及根据重传请求中携带的数据块标识和数据包标识,根据映射关系,采用当前的传输速率重传对应存储单元中的数据包。
即,若有接收到重传请求,但达不到预设的传输调整条件时,推测只是偶发性的丢包,网络当前的传输相对还是稳定的,因此,仍然采用当前确定的数据包传输速率来发送当前需要重传的数据包和存储单元中待发送的数据包,而不需要对当前的传输速率进行调整。
本发明的实施例,当接收到重传请求但不满足预设的传输调整条件时,仍然采用原传输速率发送数据包,充分考虑到因偶发性因素产生的丢包问题,在调整传输速率时,将偶发性因素排除,提高了调整传输速率的准确性。
可选的,作为其中一种实施例,满足预设的传输调整条件,具体包括:当前重传数据量增加率大于第一阈值,或者当前重传数据量减少率小于第二阈值。
调整传输链路上的数据包传输速率,具体包括:
若重传数据量增加率大于第一阈值,则减小传输链路上的数据包传输速率;若重传数据量减少率小于第二阈值,则增大传输链路上的数据包传输速率。
以下通过具体实施例进行说明。
当接收到重传请求时,重传请求中会携带有数据块标识和数据包标识,但接收到的重传请求中所请求发送的可能不仅仅是一个数据包,或能会具有多个数据包,因此,网络终端设备会对接收到的重传请求进行统计,记录收到的重传请求的时间及所重传的数据包的数量及大小,当在单位时间内,发现重传的请求的所要发送的数据量大于第一阈值时,也可以理解为当前重传数据量增加率大于第一阈值时,即认为满足预设的传输调整条件,需要调整传输速率。
若重传数据量增加率大于第一阈值,则减小传输链路上的数据包传输速率;若重传数据量减少率小于第二阈值,则增大传输链路上的数据包传输速率。
比如,如图3所示,参见序号1的内容,若在一个单位时长的统计周期内,设在一分钟的统计时长周期内,网络终端设备接收到了一个重传请求,该重传请求中包含有两个数据块的数据包,即数据块Block_ZhongShanRoad_00057_[4:0]中所包含的10个数据包00-09,以及数据块Block_ZhongShanRoad_00058_[4:0]中所包含的10个数据包00-09。
其中,请求需重发数据包Block_ZhongShanRoad_00057_[4:0]-Packet00:Packet09中,Block_ZhongShanRoad_00057_[4:0]表示数据块名,Packet00:Packet09表示当前数据块中拆分的数据包,所需数据包从Packet00起至Packet09止,共10个数据包。
网络应用终端根据该重传请求,确定所要重传的数据量为521.5M,且该重传数据为此前已经发送过的两个数据块所包含的10个数据包全部丢失,那么,当前重传数据量增加率为521.5M/Min,设,第一阈值为100M/Min,那么,当前重传的请求的所要发送的数据量增加率为521.5M/Min,大于第一阈值100M/Min,即满足重传数据量增加率大于第一阈值的条件,需要调整数据包传输速率,减小传输链路上的数据包传输速率。
再如,在第二分钟的时长里,即13:58这个单位时长内,未再收到任何的重传请求,那么,在13:58一分钟的这个单位时长内,需要重传数据量减少率为0M/Min,设第二阈值为30M/Min,那么,当前重传数据量减少率为0M/Min,小于第二阈值30M/Min,即,重传数据量减少率小于第二阈值,满足预设的传输调整条件,增大传输链路上的数据包传输速率,以恢复正常的传输过程。
第一阈值和第二阈值可以相等,也可以不等,第一阈值可以大于第二阈值,也可以小于第二阈值,只需要根据当前的环境,合理的设置第一阈值及第二阈值即可。
需要注意的是,单位时长可以自行定义,在计算重传数据量增加率时,单位时长可以以1分钟为一个统计时长,也可以以2分钟为一个统计时长,还可以以10分钟为一个统计时长,即,可以根据当前的网络状态、当前网络的物理层参数,如结合当前的网络带宽信息,设定合理的一个单位时长统计周期。
本发明实施例的技术方案,可根据不同的网络环境自行定义单位时长及第一阈值、第二阈值,当重传数据量增加率大于第一阈值时,减小传输链路上的数据包传输速率,重传数据量减少率小于第二阈值时,增大传输链路上的数据包传输速率,以实现根据当前的网络状态自适应调整,可满足各种网络环境的需要并根据网络实际情况确定不同的第一阈值、第二阈值,为如何确定传输调整条件提供一种简便可行的技术方案。
可选的,作为其中一种实施例,满足预设的传输调整条件,具体包括:重传请求频率大于第三阈值,或者重传请求频率小于第四阈值;第三阈值大于第四阈值。
调整传输链路上的数据包传输速率,具体包括:
若重传请求频率大于第三阈值,则减小传输链路上的数据包传输速率;若重传请求频率小于第四阈值,则增大传输链路上的数据包传输速率。
以下通过具体实施例说明,参见附图3的序号2-6中的内容。
在14:26时,接收到重传请求,需要重传的数据为28.1M,之后在27分、29分、30分时,均有收到重传的请求,每次收到重传请求的数据量不是很大,但基本上已上传的数据块所对应的数据包都存在丢包问题,但并不是丢失了全部数据块的数据包,而仅仅是数据块中的部分数据包丢失,虽然所需要重传的数据包的容量每次不是很大,达不到第一阈值100M/Min的设定值,但每次发送数据块都会丢包,同样说明当前网络状态不是很稳定,很有可能是网络传输压力较大而造成的,因此,该种情况同样需要调整网络传输速率,减少网络带宽的传输压力,以降低丢包的概率。
设重传请求频率大于第三阈值时,即满足预设的传输调整条件,减小传输链路上的数据包传输速率,比如,在单位时间内接收到的重传请求次数超过预设的次数时,即可以确定重传请求频率大于第三阈值。
当重传请求频率大于第三阈值时,说明网络环境不稳定,需要针对丢包情况进行关注并作出适当的调整以降低丢包的概率,因此,减小所述传输链路上的数据包传输速率。
如,若以5分钟为一个统计周期,当重传请求次数大于等于5次时,或,重传请求次数大于4次时,即为重传请求频率大于第三阈值,减小传输链路上的数据包传输速率。
具体的,可以设定第三阈值为X次/M分钟,其中,X为大于等于1的整数,X即为预设的重传次数,M分钟为一个单位时长统计周期,一个单位时长统计周期可以为秒,也可以为小时,还可以为分钟,根据实际需要确定即可,如X次/M秒,或X次/M小时等。
重传请求频率大于第三阈值,第三阈值还可以为其它值,如,以接收到第一个重传请求到第二个重传请求之间的间隔为间隔时长,若间隔时长小于预设时长,如一分钟,则可以认为重传请求频率过快,即认为重传请求频率大于第三阈值,满足预设的传输调整条件,减小传输链路上的数据包传输速率。
以附图3为例,序号4与序号5表示收到了两个重传请求,序号4和序号5的两个重传请求间隔不超过一分钟,此种情况可以认为重传请求的频率过快,大于预设的第三阈值,再如,序号5与序号6,接收到的两个重传请求虽然分别是在两分钟,但彼此间隔的时间是短于一分钟的,因此,也是属于重传请求频率大于第三阈值的情况。
当然,第三阈值还可以设定为其它的值,根据实际情况进行确定即可,本实施例不进行限定,当确定的重传请求频率大于第三阈值,即为满足预设的传输调整条件,减小所述传输链路上的数据包传输速率。
见附图序号7中的内容,在14:30分收到重传请求后至15:47分之间,没有再收到重传请求,也就是说,当前的网络状态恢复了,或是网络不再拥堵,因此,发送的数据包接收端全部成功的收到了,因此,应恢复传输链路上的数据包传输速率。
设重传请求频率小于第四阈值时,即满足预设的传输调整条件,增大传输链路上的数据包传输速率,比如,在单位时间内接收到的重传请求次数小于预设的次数时,即可以确定重传请求频率小于第四阈值,或在预设的单位时长内,比如一分钟内,未再接收到发来的重传请求时,即可以确定重传请求频率小于第四阈值,调整传输速率,增大传输链路上的数据包传输速率。
其中,第三阈值大于第四阈值。
比如,以单位时长内接收到的重传请求次数为例,单位时长为5分钟,第三阈值为,单位时长内(5分钟内)接收到的重传请求数量为4次,第四阈值为单位时长内接收到的重传请求数量为2次,那么,当收到的重传请求大于4次时,即重传请求频率大于第三阈值,减小传输链路上的数据包传输速率,当收到的重传请求数量小于2次时,增大传输链路上的数据包传输速率。
因为收到重传请求时并不表示当前的网络状态不佳,而是表示第一次发送数据包时的网络状态不佳,考虑传输时间及发包的时长,接收端不会立即发送重传请求,可能是部分的数据包还在发送中而并不是丢失了,当过了约定的时长并未收到相应的数据包、接收端确定丢包后,才会向发送端发送重传请求,以避免错误的认为发生丢包、发送端重发而导致的网络资源浪费。
因此,当接收端收到重传请求时,收到重传请求的时间与第一次发送对应的数据包的时间是有一段时间差的,只能说明第一次发送对应的数据包时存在问题,且产生丢包的原因很多,可能是接收端偶尔的接收失败,或者是网络偶然间的网络抖动导致的丢包,还可能是某个时间点被其它网络应用终端所占用,因此,当收到重传请求时并不能说明收到重传请求时的网络存在问题,且也无法确定当前的网络状态是否存在不佳的问题。
因重发的数据包是占用网络资源的,因此,当重传请求频率大于第三阈值时,可以确定网络状态是持续性的不佳,并不是偶然间的网络抖动,因此,需要减小传输链路上的数据包传输速率,减少当前网络传输的压力,为网络带宽留出一定的空间以减少丢包的概率,当重传请求频率低于第三阈值但高于第四阈值时,说明当前网络不佳的状态已经有所缓解,但依然存在着丢包的问题,只是重传请求频率没有那么高,因此,需要继续保持调整后的网络速率传输,当重传请求频率小于第四阈值时,说明当前的网络状态已经得到了缓解,虽然有丢包现象的存在,但是是在此前时间点发送时产生的丢包,并不能说明收到重传请求时刻的网络不佳,当前的网络传输状态正持续性的向好,可以预估网络已逐渐的恢复正常,因此,可以恢复正常传输,即当重传请求频率小于第四阈值,则增大传输链路上的数据包传输速率,因此,设定第三阈值大于第四阈值。
可选的,作为其中一种实施例,减小/增大传输链路上的数据包传输速率,具体包括:渐进式增加/减小数据包的发送间隔;和/或,渐进式减小/增大数据包的发送容量。
以下通过具体实施例进行说明。
当需要减小传输链路上的数据包传输速率时,可以渐进式增加数据包的发送间隔,或,渐进式减小数据包的发送容量,即,渐进式减小数据包的大小。
当网络应用终端通过网络与服务器端建立连接时,在链路初始化阶段,会获取当前链路传输带宽的能力等级、传输数据包大小以及数据包最小传输间隔,可以以此为基础,确定生成的数据块的大小,根据生成的数据块的大小确定合理的采集频率,且,根据当前链路的数据包的大小及传输间隔,确定出网络应用终端发送的数据包大小及发包间隔,通常,该网络应用终端确定的发送数据包的大小及发包间隔占用当前网络带宽的80%-90%之间,对当前的网络的占用是有剩余的,而并不是全部占用。
需要注意的是,以下实施例仅是为了说明本发明的构思,实际中并不是按当前的发送速率及数据包大小发送的,在实际中,发包的间隔往往是以毫秒为单位进行的,但为了体现本发明的构思,本发明按秒为单位进行的叙述。
设,当前的网络应用终端生成的数据块在200M-300M之间,优选的是240M-270M之间,发送的数据包在20M-30M之间,间隔2S发送一次,20S左右,由数据块拆分成的数据包会被发送出去。
若发生了丢包,满足设的传输调整条件,需要减小传输链路上的数据包传输速率时,渐进式增加数据包的发送间隔,可以采用如下公式:
T=t+t/2,
或,
T=t+round(t/2);
其中,T为待确定的发送间隔时长,t为最近一次确定的发送间隔时长,round代表4舍5入取整数;
为叙述简便,以下实施例采用公式T=t+round(t/2)为例进行说明。
设网络应用终端确定的间隔为2S发送一次数据包,确定渐进式增加数据包的发送间隔时,第一次调整数据包的发送间隔如下:
T1=2+round(2/2)=2+1=3。
因此,第一次调整数据包的发送间隔为3S,网络应用终端以确定的3S的发送间隔发送数据包。
若该间隔时间所发送的数据包在经过一段时间仍然还满足预设的传输调整条件,还需要继续调整数据包的发送间隔。
第二次调整数据包的发送间隔,如下:
T2=T1+round(T1/2)=3+round(3/2)=3+2=5,
因此,确定的第二次间隔时间T2为5S。
若该间隔时间所发送的数据包在经过一段时间仍然还满足预设的传输调整条件,还需要继续调整数据包的发送间隔。
第三次调整数据包的发送间隔,如下:
T3=T2+round(T2/2)=5+round(5/2)=5+3=8,
因此,确定的第三次间隔时间T3为8S。
那么,发送数据包的间隔时长为2S、3S、5S、8S……,以此类推,渐进式的增加数据包的发送间隔,以确定出当前网络状态下最合理的发送间隔时长。
当然,本领域的技术人员可以采用其它的计算方式,使得发送数据包的发送间隔时长渐进式的增加即可,此处仅仅是举例,不作为限定。
若网络发生极端情况,即使间隔时长很长还会发生丢包问题,即仍然满足预设的传输调整条件,针对该种情况,延长间隔时长并不能缓解网络传输状况,改善网络传输状况,因此,可选的,网络应用终端设定有最长的发送间隔时长,若按最长的间隔时长发送,仍然满足预设的传输调整条件,不再调整间隔时长,以设定的最长间隔时长试发送数据包以等待网络恢复。
若发生了丢包,满足设的传输调整条件,需要减小传输链路上的数据包传输速率时,渐进式减小数据包的发送容量,即渐进式减小数据包的大小,以下通过具体实施例进行说明。
设初始调整容量为X,每次数据包的调整量采用如下公式:
X=x+(x/2);
或,
X=x+round(x/2);
其中,X为待确定的调整量,x为最近一次确定的调整量,round为四舍五入取整数,若无法获取到最近一次确定的调整量,则调整量为网络应用终端确定的初始调整容量。
B=b-X,
其中,B为待确定的数据包大小,b为最近一次确定的数据包大小,X为确定的调整量。
为叙述简便,以下实施例采用公式X=x+round(x/2)为例进行说明。
设初始的单位调整容量X为2M,设定在正常情况下,网络应用终端根据网络情况确定发送的数据包大小B为25M左右,当满足预设的传输调整条件时,需要减少传输链路上的数据包传输速率,渐进式减小数据包的发送容量,根据上述内容,确定第一次减小数据包的发送容量,如下:
由于第一次调整时,无法获取到最近一次确定的调整量,因此,调整量为网络应用终端确定的初始调整容量,即,X1=2,确定第一次调整数据包容量B1=25–2=23。
因此,第一次调整后,数据包的发送容量为23M。
若该数据包容量所发送的数据包在经过一段时间仍然还满足预设的传输调整条件,还继续数据包的发送容量。
第二次调整数据包的发送容量如下:
X2=X1+round((X1)/2))=2+round(2/2)=2+1=3。
B2=B1–X2=23–3=20。
因此,第二次调整后,数据包的发送容量为20M。
若该数据包容量所发送的数据包在经过一段时间仍然还满足预设的传输调整条件,还继续数据包的发送容量。
第三次调整数据包的发送容量如下:
X3=X2+round((X2)/2)=3+round(3/2)=3+2=5。
B3=B2–X3=20–5=15。
因此,第三次调整后,数据包的发送容量为15M。
以此类推,渐进式减小数据包的发送容量,以确定出当前网络状态下不发生丢包的最合理的发送数据包的大小。
若网络发生极端情况,即使将发送的数据包以小容量发送,仍然还会发生丢包问题,因此,减小数据包的发送容量不能缓解当网络传输状况,因此,可选的,网络终端设定有最小的数据包发送容量,若按最小的数据包发送容量发送,仍然出现丢包的问题,不再调整数据包的发送容量,以设定的最小数据包容量试发送数据包以等待网络恢复。
当然,渐进式增加数据包的发送间隔和渐进式减小数据包的发送容量,这两种技术方案可以并行进行,也可以各自分别单独进行,本领域的技术人员依据上述实施例的基础上,可以获得上述两种方案并行进行的技术方案,此处不再列举。
可选的,作为其中一种实施例,当需要增大传输链路上的数据包传输速率时,可以渐进式减小数据包的发送间隔,或,渐进式增加数据包的发送容量,即,渐进式增加数据包的大小。
当网络恢复时,重传请求相对会减少,说明网络正逐步的改善,但网络终端设备不能突然恢复至正常的传输,网络正逐步改善但不一定完全恢复,若突然恢复正常传输可能导致网络传输压力过大而导致再次发生丢包而需要重传,因此,应渐进式减小数据包的发送间隔,或渐进式增加数据包的发送容量。
继续以上述实施例为例进行说明。
渐进式减少数据包的发送间隔,设,当前的数据包的发送间隔为R,渐进式减少数据包的发送间隔可以采用如下公式:
R=r-r/2,
或,
R=r-rounddown(r/2);
其中,R为礴确定的发送间隔时长,r为最近一次确定的发送间隔时长,rounddown代表向下取整数。
为叙述简便,以下实施例采用公式R=r+rounddown(r/2)为例进行说明。
设由于此前网络状况不佳,当前网络发送数据包的间隔时长为10S,当网络状态向好,满足预设的传输调整条件,需要调整数据包的发送间隔时,第一次调整数据包的发送间隔如下:
R1=10–rounddown(10/2)=10–5=5。
因此,第一次调整数据包的发送间隔为5S,网络应用终端以确定的5S的发送间隔发送数据包。
若以该间隔时间所发送的数据包在经过一段时间仍然满足预设的传输调整条件,还需要继续调整数据包的发送间隔。
第二次调整数据包的发送间隔,如下:
R2=R1-rounddown((R1)/2)=5-rounddown(5/2)=5–2=3。
因此,第二次调整数据包的发送间隔为3S,网络应用终端以确定的3S的发送间隔发送数据包。
若以该间隔时间所发送的数据包在经过一段时间仍然满足预设的传输调整条件,还需要继续调整数据包的发送间隔。
第三次调整数据包的发送间隔,如下:
R3=R2-rounddown((R2)/2)=3-rounddown(3/2)=3–1=2。
因此,第三次调整数据包的发送间隔为2S,网络应用终端以确定的2S的发送间隔发送数据包。
此时,已经恢复至正常的发包频率,不再调整数据包的发送间隔。
若网络应用终端因网络原因或因减少传输速率导致未发送的数据块积压过多,未发送的数据块所占的存储空间超过第一预设的存储空间容量时,通过上述技术方案,可以再次渐进式减小数据包的发送间隔,增大传输链路上的数据包传输速率,加快数据包的发送频率,当未发送的数据块所占的存储空间低于第二预设的存储空间容量时,再渐进式增大所述数据包的发送间隔,逐渐恢复至正常的数据包传输速率。
前述已经叙述,网络应用终端正常发送的数据包的大小及发包间隔并非占用了当前网络的所有带宽,网络带宽是有空余的,若存储的数据块不尽快发送,当超过一段时间后,存储的数据块数据可能会新的数据块数据所覆盖而导致数据丢失,因此,在网络条件状态允许的情况下,即使增大所述传输链路上的数据包传输速率,超过了此前正常的数据包传输速率,也不会造成网络瘫痪,在网络状况良好时,应将系统中未发送的数据块尽快的上传至服务器。
满足设的传输调整条件,渐进式增加数据包的发送容量,设当前的调整容量为U,初始调整容量为u,每次调整量大小采用如下公式:
U=u+(u/2);
或,
U=u+rounddown(u/2);
其中,U为待确定的调整量,u为最近一次确定的调整量,rounddown表示向下取整数,若无法获取到最近一次确定的调整量,则调整量为网络应用终端确定的初始调整容量。
P=p+U,
其中,P为待确定的数据包的大小,p为最近一次确定的数据包大小,U为确定的调整量。
为叙述简便,以下实施例采用公式U=u-rounddown(u/2)为例进行说明。
设当前的数据包大小P为15M,初始调整量为2M,当满足预设的传输调整条件,需要增大传输链路上的数据包传输速率时,渐进式增大数据包的发送容量,根据上述内容,确定第一次增大数据包的发送容量,如下:
由于第一次调整时,无法获取到最近一次确定的调整量,因此,调整量为网络应用终端确定的初始调整容量,即,U1=2,确定第一次调整数据包容量B1=15+2=17。
因此,第一次调整后,数据包的发送容量为17M。
若该数据包容量所发送的数据包在经过一段时间仍然还满足预设的传输调整条件,还继续渐进式调整数据包的发送容量。
第二次调整数据包的发送容量如下:
U2=U1+rounddown((U1)/2)=2+rounddown(2/2)=3;
B2=B1+U2=17+3=20。
因此,第二次调整后,数据包的发送容量为20M。
若该数据包容量所发送的数据包在经过一段时间仍然还满足预设的传输调整条件,还继续渐进式调整数据包的发送容量。
第三次调整数据包发送量如下:
U3=U2+rounddown((U2)/2)=3+rounddown(3/2)=4;
B3=B2+U3=20+4=24。
因此,第三次调整后,数据包的发送容量为24M。
若该数据包容量所发送的数据包在经过一段时间仍然还满足预设的传输调整条件,还继续渐进式调整数据包的发送容量。
第四次调整数据包发送量如下:
U4=U3+rounddown((U3)/2)=4+rounddown(4/2)=6;
B4=B3+U4=24+6=30。
此时,30M的容量已经大于网络应用终端的正常发送数据包容量,因此,网络应用终端可以恢复正常的数据包容量发送,即渐进式增加数据包的发送容量,直至恢复正常发送,以上述实施例为例,网络应用终端以25M左右的数据包容量发送。
同样的,若网络应用终端因网络原因或因减少传输速率导致未发送的数据块积压过多,未发送的数据块所占的存储空间超过预设的第一存储空间容量时,通过上述技术方案,可以渐进式增加数据包的发送容量,增大传输链路上的数据包传输速率,加快数据包的发送,当未发送的数据块所占的存储空间低于预设的第二存储空间容量时,再渐进式减小所述数据包的发送容量,恢复正常的数据包传输速率。
前述已经叙述,网络应用终端正常发送的数据包的大小及发包间隔并非占用了当前网络的所有带宽,网络带宽是有空余的,若存储的数据块不尽快发送,当超过一段时间后,存储的数据块数据可能会新的数据块数据所覆盖而导致数据丢失,因此,在网络条件状态允许的情况下,即使增大所述传输链路上的数据包传输速率,也不会造成网络瘫痪,在网络状况良好时,应将系统中未发送的数据块尽快的上传至服务器。
可选的,作为其中一种实施例,当接收到重传请求时,若判断出满足预设的传输调整条件时,还包括:提高/降低采集频率。
以下通过具体实施例进行说明。
前述对的网络应用终端的缓存进行了说明,随着时间的进行,新生成的数据块会将位于同一缓存区所存储的内容覆盖掉,因此,当生成了新的数据块并保存后,若网络正常,网络应用终端会将保存的数据块尽快的发送出去,若遇到了网络状态不佳,比如网络拥堵时,收到的重传的信息会增多,若判断出满足预设的传输调整条件时,会减少传输链路上的数据包的传输速率,可能会存在新生成的数据块由于网络原因无法及时发送出去而产生了积压,随着时间的进行,未发送的数据块可能会越来越多,因此,可选的,若判断出满足预设的传输调整条件时,还包括:提高/降低采集频率。
也可以为,未发送的数据块所占的存储空间超过预设的第一存储空间容量时,降低采集频率。
降低采集频率,可以为增大采集数据的间隔,或是降低采集数据的清晰度,如分辨率等,以减小生成的数据块的容量大小,使得当前的缓存中可以保存有更长时间的数据块数据,同等容量的数据块,在降低采集频率后,记录的时间长度较未降低采集频率的数据块的时间相比要长,通过降低采集频率,可以节省缓存空间,使有限的缓存空间可以保存更长时间的数据。
若网络恢复了,判断出满足预设的传输调整条件时,提高采集频率,也可以为,未发送的数据块所占的存储空间低于预设的第二存储空间容量时,提高采集频率。
提高采集频率,可以为减小采集数据的间隔,或是提高采集数据的清晰度,如分辨率等,以完整的记录在记录时间段里的相关信息。
可选的,作为其中一种实施例,若接收到的重传请求所携带的表征数据块的生成记录时间信息与最新生成的数据块所表征的生成记录时间信息的时间间隔超过预设的时长,和/或,接收到的重传请求所携带的数据块的标识与最新生成的数据块标识的差值超过预设值,丢弃除最新生成的数据块的其它数据块,并将最新生成的数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送最新生成的多个数据包。
当网络发生极端情况时,比如断网或是网络瘫痪,此时,网络应用终端是无法接收到接收端发来的重传请求的,且生成的数据块发送不出去,随着时间的延长,保存至缓存中的数据块可能会被循环的覆盖,当网络恢复时,网络应用终端接收到重传请求,重传请求中所携带的表征数据块的生成时记录时间信息与最新生成的数据块所表征的生成记录时间信息的时间间隔若超过预设的时长,和/或,接收到的重传请求所携带的数据块的标识与最新生成的数据块标识的差值超过预设值时,可能存在所需的数据块已经被新的数据块所覆盖掉,且已经发生丢失的数据已经无法找回,或是未上传的数据块没有必要上传至接收端,只需要发送最新生成的数据块即可,因此,将最新生成的数据块发送至接收端外,其它保存在缓存中的数据块直接丢弃不再上传,以节省网络资源。
可选的,作为其中一种实施例,数据块和缓存的对应存储单元之间具有映射关系,具体包括:数据块标识还包含标识序号,数据块的标识序号与表征缓存的对应存储单元的标识序号具有对应关系。
以下通过具体实施例进行说明,见附图3及附图4所示。
附图4为数据块标识与存储单元的标识的示意图,Buf_ID中的ID号表征存储空间的标识序号且顺序排列,一个标识序号对应一个存储空间,因此,ID号通常与应用终端的存储单元的数量有关。
参见前述的叙述,终端的缓存区的数量往往是受限制的,通常会是2的指数倍,如16个缓存区、32个缓存区、64个缓存区等,由于受到缓存区的数量限制,Buf_ID中的ID的范围一般比较小,如图4中所示,Buf_ID中ID的范围为0-31共32个缓存区,且按序排列。
当一个新的网络应用终端设备完成出厂设置后,在没有升级的情况下,通常缓存的数量不会发生变化,因此,在完成出厂设置后,根据终端中缓存的数量,即可以确定出每一个缓存对应的Buf_ID,如Buf_0、Buf_1、Buf_2等。
Block_ID为用于标记待发送的数据块的标识,一般的,Block_ID中前半部分的名称通常与传输时所采用的传输协议有关,常见的传输协议比如TCP协议、UDP协议等,Block_ID中的ID表征为数据块的标识序号且顺序排列,Block_ID中的ID序号的范围为自然顺序号,从0开始起计数,并不限制其标号的数量,因此范围会比较大;但由于数字越大,相对应的名称也会越长,因此,建议数字在0-65535中循环的顺序使用,当然,若是需要,序号也可以更大,此处仅是列举。
见附图3中的序号1所示,Block_ID的名称可以为Block_ZhongShanRoad_00057,其中,Block的命名往往与协议相关,本实施例直接以Block代替,在实际应用中根据不同的需求及协议进行命名,此处不再举例,下划线后的ZhongShanRoad,为网络应用终端的各自的自定义名称,可以根据网络应用终端的位置、所在坐标或是其它的信息自行定义,第二个下划线之后的00057,为数据块标识的标识序号。
在存储生成的数据块时,以数据块标识中的标识序号为顺序,即Block_ID中的ID为顺序,逐一的存入到与存储单元的标识序号Buf_ID中相对应的存储单元中,即与Buf_ID中ID对应的存储空间中,而缓存的存储单元前述已经进行了叙述,会循环的往复的存入新的数据块,因此,当存入的数据块将当前缓存中的存储空间保存满后,再次将新生成的数据块循环保存至Buf_0中,也就是说,Block_ID中ID为00032的数据块,会被存入标识为Buf_0的存储空间中并依次向下继续存储并循环进行,当存储空间再次被生成的数据块保存满后,Block_ID中ID为00064会被再次存入Buf_0的空间中,依次反复循环。
因此,数据块的标识序号与存储单元的标识序号具有对应关系。
数据块的标识序号与存储单元的标识序号的对应关系,可以理解为将Block_ID作为地址查找对应的Buf_ID,实现两种ID的交互,采用该种映射方式的有益效果是,不需要网络应用终端开辟存储空间并管理发送的数据块与当前存储单元的对应关系,节省了网络应用终端的存储空间,且在接收到重传请求时,根据重传请求中携带的数据块包含的标识序号即可确定存储单元的标识序号并确定对应的存储单元,省略了网络应用终端的计算资源及查找时间,节省了网络应用终端的资源开销。
根据重传请求中携带的数据块包含的标识序确定存储单元的标识序号,具体可以为:
将数据块包含的标识序号取存储单元的数量的余数,获得的余数的值即为确定的存储单元的标识序号,如附图3所示,确定数据块的标识序号为00057时,当前的存储单元的数量为32,将57取32的余数,为25,则对应的存储单元的标识序号为25,依据存储单元的标识序号25确定存储单元;再如,附图3中序号7,确定数据块的标识序号为00079时,当前的存储单元的数量为32,将79取32的余数,为15,则对应的存储单元的标识序号为15,依据存储单元的标识序号15确定存储单元。
本发明实施例的技术方案,为数据块的标识序号与缓存的对应存储单元的标识序号如何对应提供了一种解决方式,且该种技术方案,不需要网络应用终端对数据块及存储单元对应关系的进行管理,减少了因管理所占用的存储空间及查询对应关系所消耗的计算资源,节省了网络应用终端的资源开销。
可选的,作为其中一种实施例,数据块标识还包含表征缓存的存储单元数量的地址范围。
以上述实施例为例,在根据重传请求中携带的数据块包含的标识序号确定存储单元的标识序号时,需要获取存储单元的数量,因此,在确定数据块对应的存储单元时,需要向网络应用终端请求并获取当前缓存对应存储单元的数量才可以确定数据块包含的标识序号对应的存储单元的标识序号。
而在实际中,通常的,缓存的存储单元的数量是2的指数倍,是由于电脑存储数据是以二进制的形式存储,电脑的存储介质(缓存)也是以二进制的形式存储数据,所以容量(缓存的存储单元)只能是2的指数倍,这里的二进制指的是以2为基数代表系统的二进位制,这个存储单元的地址范围实际上可以表示为一个基于2的指数的地址范围,而地址和存储单元是一一对应的,因此,地址范围也可以表征在当前地址范围内、缓存的存储单元的数量。
因此,数据块标识还包含表征缓存的存储单元数量的地址范围,根据数据块所携带的表征缓存的存储单元数量的地址范围,即可以确定网络应用终端的缓存对应存储单元的数量,不必在向网络终端确定存储单元的数量。
以附图3、附图4为例,设网络应用终端的存储单元的数量为32个,序号为0-31的存储单元,那么,其地址范围可以表示为[4:0],即2的5次方;再如,存储单元的数据量若为64个,序号为0-63,则地址范围可以表示为[5:0],即2的6次方。
以附图3中序号7中的重发数据包为例,当接收到重传请求时,请求所要重发的数据包为Block_ZhongShanRoad_00079_[4:0]-Packet05:Packet05,通过解析,确定当前数据块的序号为00079,地址范围为[4:0],根据其地址范围,确定存储单元的数量为32个,将79取32的余数,得到的余数为15,则对应的缓存的存储单元序号为15,即表征存储单元序号为15的存储单元中存储有当前数据块序号00079的数据,再进一步确定存储单元中数据块对应的数据包为Packet05的数据。
本发明实施例的技术方案,数据块标识还包含有表征缓存的存储单元数量的地址范围,可以通过数据块标识直接确定网络应用终端的缓存对应存储单元的数量,不必在向网络应用终端确定存储单元的数量,节省了访问存储单元数量的时间及确定存储单元数量时的各种交互过程,可以根据数据块标识快速确定对应的存储单元。
可选的,作为其中一种实施例,在根据映射关系,采用调整后的传输速率重传对应存储单元中的数据包之前,还包括:确定接收到的重传请求中的数据包未越界,具体包括:
比较重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值,若差值小于存储单元的数量,则确定需重传的数据包未越界。
参见前述实施例,由于缓存的存储空间是循环保存的,因此,对于同一个存储单元,会保存过有多个数据块,也可以理解为,即使不同的数据块的序号,根据数据块和缓存的对应存储单元之间的映射关系,也可能会被映射至同一个存储单元,但当前缓存的存储单元保存的是最新生成的数据块信息,此前已经保存过的数据块会被新生成的数据块所覆盖掉,当接收到重传请求时,若根据重传请求中数据块的信息及数据块和缓存的对应存储单元之间映射关系,确定出的对应的存储单元,但当前存储单元存储的数据可能并不是重传请求所需要的数据包,可能已经被新生成的数据块所覆盖了,因此,采用调整后的传输速率重传对应存储单元中的数据包之前,还包括:确定接收到的重传请求中的数据包未越界,以确保所发送的数据包是重传请求所需要的数据。
本申请的技术方案,在根据数据块和缓存的对应存储单元之间具有映射关系来确定数据块在存储单元的位置后,不需要网络应用终端对数据块及存储单元对应关系的管理,因此,无法采用向网络应用终端确认当前存储单元所存储的对应的数据块的技术方案来判断重传请求中数据包是否越界。
因此,在根据映射关系,采用调整后的传输速率重传对应存储单元中的数据包之前,确定接收到的重传请求中的数据包未越界,具体包括:
比较重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值,若差值小于存储单元的数量,则确定需重传的数据包未越界。
以下通过具体实施例进行说明,见附图5所示,并以附图3中序号7为例进行说明。
S501:接收重传请求,根据重传请求中的携带的数据块标识,确定数据块的标识序号;
S502:根据数据块的标识序号,判断接收到的重传请求中的数据包是否越界,若是,执行步骤S504,若否,执行步骤S503。
判断接收到的重传请求中的数据包是否越界,具体包括:
比较重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值,若差值小于存储单元的数量,则确定需重传的数据包未越界。
S503:根据重传请求中确定的数据块的标识序号及数据块和缓存的对应存储单元之间的映射关系,确定存储单元。
S504:发送越界告警,结束重传流程;
S505:从存储单元中提取数据。
以附图3中序号7为例,并结合上述实施例进一步说明。
当前的网络应用终端为在15:47分时,收到重传的请求,根据重传请求中的携带的数据块标识,确定数据块的标识序号为00079。
设,当前网络应用终端最新发送的数据块标识的标识序号为00112,根据数据块的标识序号00079,判断接收到的重传请求中的数据包是否越界,具体为:比较重传请求中携带的数据块标识中的标识序号00079与最新发送的数据块标识中的标识序号00112的差值,根据计算,当前的差值为33。
当前的差值33与存储单元数量相比较,根据前述实施例,存储单元的数量为32,差值33是大于存储单元数量32的,也就是说,重传请求中所需要的数据块00079中的数据已经被新生成的数据块所覆盖,超出了当前网络应用终端的存储范围,已经越界了,因此,无法再向服务器发送重传请求中所需要的数据,发送越界告警,结束重传流程。
若重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值小于当前的存储单元数量32时,重传请求中的数据包并未越界,重传请求所需要的数据块中的数据并未被新生成的数据块所覆盖,因此,可以根据数据块和缓存的对应存储单元之间的映射关系,确定对应的存储单元,并提取所需数据。
本发明实施例的技术方案,在确定当前重传请求中的数据块是否越界时,未采用向网络应用终端问询当前重传请求所需要的数据块是否在网络应用终端中保存的方式,而是通过将重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号进行比较,若差值小于存储单元的数量则未越界,即根据重传请求中的数据块标识序号即可以确定所需要的数据块是否在网络应用终端中保存,本发明实施例的技术方案,不需要网络应用终端单独管理数据块与存储单元的对应关系,为确定需重传的数据包是否越界提供了一种新的技术方案。
可选的,作为其中一种实施例,存储单元还具有状态标识,状态标识用于表征存储单元中所存储的数据块是否被发送。
在实际的应用中,接收到重传请求且判断出满足预设的传输调整条件时,说明当前的网络状态不佳,在调整所述传输链路上的数据包传输速率后,会存在生成数据块保存但未发送的情况,即生成的数据块可能需要排队等待发送,因此,正在发送的数据块或是最新发送的数据块的标识并不一定能代表最新生成的数据块,在判断接收到的重传请求中的数据包是否越界时,比较所述重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值方式,因发送的数据块并非最新生成的数据块而导致偏差,可能会存在重传请求所需的数据块已经被新生成的数据所覆盖,但比较重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值仍然小于存储单元的数量而判定未越界、而到相应的存储单元中读取数据的情况。
因此,存储单元还具有状态标识,状态标识用于表征存储单元中所存储的数据块是否被发送,如未发送的状态标识为1,已发送的状标识为0。
当接收到重传请求时,比较重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值,若差值小于存储单元的数量时,根据数据块的序号标识确定对应的存储单元,若对应的存储单元中状态标识为未发送状态,则不再读取存储单元中的数据,发送越界告警,并结束重传流程。
以下通过具体实施例说明,以附图3中序号7为例进行说明。
基于上述实施例,及,设,网络应用终端最新发送的数据块标识中的标识序号为110,由于网络原因,生成的数据块未及时发送,最新生成的数据块的标识序号为112,根据映射关系确定,该数据块对应的存储单元标识序号为16。
网络应用终端中,由于最新发送的数据块标识序号为110,相当于,标识序号为111、112的数据块均未发送,因此,数据块标识序号为111、112对应的存储单元标识序号为15、16的状态标识均为未发送状态,比如为1。
当接收到重传请求时,重传请求中数据块的标识序号为00079,与最新发送的数据块的标识序号110的差值为31,小于存储单元的数量32,因此,确定重传请求的数据未越界,根据前述的映射关系,确定数据块标识序号00079对应的存储单元序号标识为15,但序号标识为15的存储单元的状态标识为1,即为未发送状态,因此,不再读取存储单元中的数据,发送越界告警,并结束重传流程。
若存储单元的状态标识为未发送状态,说明当前存储单元中原来的数据块数据已经被新生成的数据块所覆盖,只是由于各种原因而未发送,比如本实施例中,重传请求中数据块的标识序号为00079,对应的存储单元序号标识为15,而该存储单元15所存储的数据并非数据块00079的数据,而是标识序号为00111的数据块,若存储单元没有状态标识,误将存储的00111的数据块作为00079的数据发送则会出现问题。
重传请求所需的数据一定是已经发送过、但接收端因故未能接收到的数据需要重新发送,因此,当存储单元的状态标识为已发送时,才可以提取当前存储单元中存储的数据。
本发明实施例的技术方案,在确定重传请求所需的数据块对应的存储单元时,确定所需数据块未越界并确定数据块对应的存储单元后,结合存储单元的状态标识,进一步确认当前存储单元中的数据是否是所需的数据块,避免发送错误的数据。本发明实施例的技术方案,通过数据块和缓存的对应存储单元之间的映射关系,结合越界判定及存储单元的状态标识,实现了根据数据块的序号标识确定对应的存储单元,及确定存储单元中是否是重传请求所需的数据块,替代了网络应用终端管理数据块与存储单元对应关系的技术方案,且,本发明的技术方案,实现简单,不单独占用网络应用终端的存储空间,节省资源开销。
可选的,作为其中一种实施例,本发明还提供一种网络应用终端600,见附图6所示,包括采集模块601、存储模块602、发送模块603、链路管理模块604,
采集模块601,用于根据采集频率采集待传输的数据,生成数据块并缓存,数据块和缓存的对应存储单元之间具有映射关系;
存储模块602,用于缓存数据块;
发送模块603,用于将存储模块602缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送数据包;
链路管理模块604,用于当接收到重传请求时,若判断出满足预设的传输调整条件时,控制发送模块603调整传输链路上的数据包传输速率;且根据调整后的传输速率,控制发送模块603发送存储单元中待发送的数据包,以及根据重传请求中携带的数据块标识和数据包标识,查找根据映射关系,采用调整后的传输速率控制发送模块603重传对应存储单元中的数据包。
可选的,作为其中一种实施例,本发明还提供一种服务应用端700,见附图7所示,包括接收模块701、检测模块702、发送模块703,
所述接收模块701,用于接收所述网络应用端发来的所述数据包,并根据所述数据包携带的数据块标识和数据包标识,按序重新组成所述数据块;
所述检测模块702,用于检查所述数据块和所述数据包的连续性,判断是否丢包,并向发送模块发送表征在
所述发送模块703,用于根据所述检测模块的检测结果,确定丢包时,向所述网络应用端发送重传请求,所述重传请求中包含有确定丢包的数据块标识和数据包标识。
可选的,作为其中一种实施例,本发明还提供一种网络系统,包括网络应用终端600及服务应用端700,
网络应用终端600,用于根据采集频率采集待传输的数据,生成数据块并缓存,数据块和缓存的对应存储单元之间具有映射关系;还用于,将缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路将数据包发送至服务应用端700;还用于,当接收到重传请求时,若判断出满足预设的传输调整条件时,调整传输链路上的数据包传输速率;且根据调整后的传输速率发送存储单元中待发送的数据包,以及根据重传请求中携带的数据块标识和数据包标识,根据映射关系,采用调整后的传输速率重传对应存储单元中的数据包;
服务应用端700,用于接收网络应用端发来的数据包,并根据数据包携带的数据块标识和数据包标识,按序重新组成数据块;还用于,检查数据块和数据包的连续性,判断是否丢包,确定丢包时,向网络应用端600发送重传请求,重传请求中包含有确定丢包的数据块标识和数据包标识。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种数据传输方法,其特征在于,包括:
根据采集频率采集待传输的数据,生成数据块并缓存,所述数据块和缓存的对应存储单元之间具有映射关系;
将缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送所述数据包;
当接收到重传请求时,若判断出满足预设的传输调整条件时,调整所述传输链路上的数据包传输速率;且根据调整后的传输速率发送存储单元中待发送的数据包,以及根据所述重传请求中携带的数据块标识和数据包标识,根据所述映射关系,采用调整后的传输速率重传对应存储单元中的数据包;
其中,所述数据块和缓存的对应存储单元之间具有映射关系,具体包括:
所述数据块标识还包含标识序号,所述数据块的标识序号与表征所述缓存的对应存储单元的标识序号具有对应关系;其中,所述存储单元具有状态标识,所述状态标识用于表征所述存储单元中所存储的数据块是否被发送;
所述数据块标识还包含表征所述缓存的存储单元数量的地址范围;
在根据所述映射关系,采用调整后的传输速率重传对应存储单元中的数据包之前,还包括:
比较所述重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值,当所述差值小于所述存储单元的数量时,确定接收到的所述重传请求中的数据包未越界,根据所述重传请求中携带的数据块标识中的标识序号确定对应的存储单元,若所述对应的存储单元中状态标识为已发送状态,则提取所述对应的存储单元中的数据包。
2.根据权利要求1所述的方法,其特征在于,若判断出不满足预设的传输调整条件时,采用当前的数据包传输速率发送存储单元中待发送的数据包,以及根据所述重传请求中携带的数据块标识和数据包标识,根据所述映射关系,采用当前的传输速率重传对应存储单元中的数据包。
3.根据权利要求2所述的方法,其特征在于,所述满足预设的传输调整条件,具体包括:当前重传数据量增加率大于第一阈值,或者
当前重传数据量减少率小于第二阈值。
4.根据权利要求2所述的方法,其特征在于,所述满足预设的传输调整条件,具体包括:所述重传请求频率大于第三阈值,或者所述重传请求频率小于第四阈值;所述第三阈值大于所述第四阈值。
5.根据权利要求3所述的方法,其特征在于,所述调整所述传输链路上的数据包传输速率,具体包括:
若所述重传数据量增加率大于第一阈值,则减小所述传输链路上的数据包传输速率;若所述重传数据量减少率小于第二阈值,则增大所述传输链路上的数据包传输速率。
6.根据权利要求4所述的方法,其特征在于,所述调整所述传输链路上的数据包传输速率,具体包括:
若所述重传请求频率大于第三阈值,则减小所述传输链路上的数据包传输速率;若所述重传请求频率小于第四阈值,则增大所述传输链路上的数据包传输速率。
7.根据权利要求5或6所述的方法,其特征在于,所述减小/增大所述传输链路上的数据包传输速率,具体包括:
渐进式增加/减小所述数据包的发送间隔;
和/或,
渐进式减小/增大所述数据包的发送容量。
8.根据权利要求1-7任一所述的方法,其特征在于,当接收到重传请求时,若判断出满足预设的传输调整条件时,还包括:提高/降低所述采集频率。
9.一种网络应用终端,其特征在于,包括采集模块、存储模块、发送模块、链路管理模块,
所述采集模块,用于根据采集频率采集待传输的数据,生成数据块并缓存,所述数据块和缓存的对应存储单元之间具有映射关系;
所述存储模块,用于缓存所述数据块;
所述发送模块,用于将所述存储模块缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路发送所述数据包;
所述链路管理模块,用于当接收到重传请求时,若判断出满足预设的传输调整条件时,控制所述发送模块调整所述传输链路上的数据包传输速率;且根据调整后的传输速率,控制所述发送模块发送存储单元中待发送的数据包,以及根据所述重传请求中携带的数据块标识和数据包标识,查找根据所述映射关系,采用调整后的传输速率控制所述发送模块重传对应存储单元中的数据包;
其中,所述数据块和缓存的对应存储单元之间具有映射关系,具体包括:
所述数据块标识还包含标识序号,所述数据块的标识序号与表征所述缓存的对应存储单元的标识序号具有对应关系;其中,所述存储单元具有状态标识,所述状态标识用于表征所述存储单元中所存储的数据块是否被发送;
所述数据块标识还包含表征所述缓存的存储单元数量的地址范围;
所述链路管理模块在根据所述映射关系,采用调整后的传输速率重传对应存储单元中的数据包之前,还用于:
比较所述重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值,当所述差值小于所述存储单元的数量时,确定接收到的所述重传请求中的数据包未越界,根据所述重传请求中携带的数据块标识中的标识序号确定对应的存储单元,若所述对应的存储单元中状态标识为已发送状态,则提取所述对应的存储单元中的数据包。
10.一种网络系统,包括网络应用终端及服务应用端,其特征在于,
所述网络应用终端,用于根据采集频率采集待传输的数据,生成数据块并缓存,所述数据块和缓存的对应存储单元之间具有映射关系;还用于,将缓存的各数据块拆分成包含有数据块标识和数据包标识的多个数据包,通过传输链路将所述数据包发送至所述服务应用端;还用于,当接收到重传请求时,若判断出满足预设的传输调整条件时,调整所述传输链路上的数据包传输速率;且根据调整后的传输速率发送存储单元中待发送的数据包,以及根据所述重传请求中携带的数据块标识和数据包标识,根据所述映射关系,采用调整后的传输速率重传对应存储单元中的数据包;
其中,所述数据块和缓存的对应存储单元之间具有映射关系,具体包括:
所述数据块标识还包含标识序号,所述数据块的标识序号与表征所述缓存的对应存储单元的标识序号具有对应关系;其中,所述存储单元具有状态标识,所述状态标识用于表征所述存储单元中所存储的数据块是否被发送;
所述数据块标识还包含表征所述缓存的存储单元数量的地址范围;
所述网络应用终端在根据所述映射关系,采用调整后的传输速率重传对应存储单元中的数据包之前,还用于:
比较所述重传请求中携带的数据块标识中的标识序号与最新发送的数据块标识中的标识序号的差值,当所述差值小于所述存储单元的数量时,确定接收到的所述重传请求中的数据包未越界,根据所述重传请求中携带的数据块标识中的标识序号确定对应的存储单元,若所述对应的存储单元中状态标识为已发送状态,则提取所述对应的存储单元中的数据包;
所述服务应用端,用于接收所述网络应用终端发来的所述数据包,并根据所述数据包携带的数据块标识和数据包标识,按序重新组成所述数据块;还用于,检查所述数据块和所述数据包的连续性,判断是否丢包,确定丢包时,向所述网络应用终端发送重传请求,所述重传请求中包含有确定丢包的数据块标识和数据包标识。
CN202210683193.XA 2022-06-16 2022-06-16 一种数据传输方法及网络应用终端 Active CN115174490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210683193.XA CN115174490B (zh) 2022-06-16 2022-06-16 一种数据传输方法及网络应用终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210683193.XA CN115174490B (zh) 2022-06-16 2022-06-16 一种数据传输方法及网络应用终端

Publications (2)

Publication Number Publication Date
CN115174490A CN115174490A (zh) 2022-10-11
CN115174490B true CN115174490B (zh) 2023-10-17

Family

ID=83485851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210683193.XA Active CN115174490B (zh) 2022-06-16 2022-06-16 一种数据传输方法及网络应用终端

Country Status (1)

Country Link
CN (1) CN115174490B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016370B (zh) * 2022-12-27 2024-01-30 北京铭海博纳科技发展有限公司 一种丢包率优化方法、系统、电子设备及可读存储介质
CN116800691B (zh) * 2023-08-25 2023-11-21 明度智云(浙江)科技有限公司 一种缓存数据分割处理方法、系统和存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143219A (ja) * 2001-11-01 2003-05-16 Matsushita Electric Ind Co Ltd パケット交換通信ネットワークのための中継装置及び中継方法
JP2005136548A (ja) * 2003-10-29 2005-05-26 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
JP2009207084A (ja) * 2008-02-29 2009-09-10 Nippon Hoso Kyokai <Nhk> 送信装置、送信プログラム、受信装置及び受信プログラム
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
CN103248452A (zh) * 2012-02-10 2013-08-14 宇龙计算机通信科技(深圳)有限公司 数据发送装置、数据接收装置、终端和数据传输方法
CN104486051A (zh) * 2014-12-09 2015-04-01 京信通信系统(中国)有限公司 一种数据重传方法及装置
CN107147481A (zh) * 2017-07-19 2017-09-08 北京数码视讯科技股份有限公司 丢包重传方法、装置及电子设备
CN107229620A (zh) * 2016-03-23 2017-10-03 杭州海康威视数字技术股份有限公司 一种视频数据的存储方法及装置
CN109347607A (zh) * 2018-10-17 2019-02-15 中国科学院自动化研究所 高效可靠传输控制方法和系统
CN110620738A (zh) * 2019-10-15 2019-12-27 腾讯科技(深圳)有限公司 带宽分配方法、装置、设备及存储介质
CN111431672A (zh) * 2019-01-09 2020-07-17 中兴通讯股份有限公司 数据的重传方法、装置、存储介质及电子装置
CN112532358A (zh) * 2020-11-17 2021-03-19 广州技象科技有限公司 根据反馈等待时间进行数据发送内容更改的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8184551B2 (en) * 2008-08-08 2012-05-22 Broadcom Corporation Throughput-based rate adaptation for wireless transmissions
US9729269B2 (en) * 2012-10-23 2017-08-08 Samsung Electronics Co., Ltd. Wireless communication system including communication apparatus and data communication method thereof
RU2018132348A (ru) * 2016-02-26 2020-03-26 Нэт Инсайт Интеллекчуал Пропэрти Аб Повторная передача данных в пакетных сетях

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143219A (ja) * 2001-11-01 2003-05-16 Matsushita Electric Ind Co Ltd パケット交換通信ネットワークのための中継装置及び中継方法
JP2005136548A (ja) * 2003-10-29 2005-05-26 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
JP2009207084A (ja) * 2008-02-29 2009-09-10 Nippon Hoso Kyokai <Nhk> 送信装置、送信プログラム、受信装置及び受信プログラム
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
CN103248452A (zh) * 2012-02-10 2013-08-14 宇龙计算机通信科技(深圳)有限公司 数据发送装置、数据接收装置、终端和数据传输方法
CN104486051A (zh) * 2014-12-09 2015-04-01 京信通信系统(中国)有限公司 一种数据重传方法及装置
CN107229620A (zh) * 2016-03-23 2017-10-03 杭州海康威视数字技术股份有限公司 一种视频数据的存储方法及装置
CN107147481A (zh) * 2017-07-19 2017-09-08 北京数码视讯科技股份有限公司 丢包重传方法、装置及电子设备
CN109347607A (zh) * 2018-10-17 2019-02-15 中国科学院自动化研究所 高效可靠传输控制方法和系统
CN111431672A (zh) * 2019-01-09 2020-07-17 中兴通讯股份有限公司 数据的重传方法、装置、存储介质及电子装置
CN110620738A (zh) * 2019-10-15 2019-12-27 腾讯科技(深圳)有限公司 带宽分配方法、装置、设备及存储介质
CN112532358A (zh) * 2020-11-17 2021-03-19 广州技象科技有限公司 根据反馈等待时间进行数据发送内容更改的方法和装置

Also Published As

Publication number Publication date
CN115174490A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
CN115174490B (zh) 一种数据传输方法及网络应用终端
CN107979592B (zh) 一种发送业务请求消息的方法及装置
CN109783250B (zh) 一种报文转发方法及网络设备
CN105450785B (zh) 一种文件传输方法和装置
CN104378308A (zh) 报文发送速率检测方法及装置
CN101841480A (zh) 多链路报文发送方法、设备及系统
US10079782B2 (en) Facilitating communication of data packets using credit-based flow control
CN103945282A (zh) 文件读取方法和装置
CN115086104B (zh) 一种支持数据断线重传的方法及串口服务器
JP3027369B2 (ja) ネットワークシステム、帯域管理装置、送信装置およびネットワーク伝送方法、帯域管理方法、送信方法
CN103685061A (zh) 缓存数据控制方法和装置
JP2836505B2 (ja) 遠隔監視システム
CN115914164A (zh) 一种隧道连接方法、装置、电子设备和存储介质
CN106790354B (zh) 一种防数据拥堵的通信方法及其装置
CN111147175B (zh) 时间触发以太网数据帧捕获、存储装置及方法
CN103442091A (zh) 一种数据传输方法及装置
CN111835801B (zh) 文件下载方法、装置、服务器、边缘设备、终端及介质
CN105656794A (zh) 数据分发方法及装置
CN113992609B (zh) 一种处理多链路业务数据乱序的方法及系统
CN111131066A (zh) 一种流量整形方法及装置
CN112351049B (zh) 数据传输方法、装置、设备及存储介质
CN115037786A (zh) 提高数据传输效率的方法及相关设备
CN111131083B (zh) 节点间数据传输方法、装置、设备及计算机可读存储介质
CN114116171A (zh) 一种数据处理方法、装置及系统
CN110381537B (zh) 一种基于QoE的带宽限速方法、装置、设备及存储介质

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
GR01 Patent grant
GR01 Patent grant