CN105743951A - 一种数据发送、接收的方法及装置 - Google Patents
一种数据发送、接收的方法及装置 Download PDFInfo
- Publication number
- CN105743951A CN105743951A CN201410765012.3A CN201410765012A CN105743951A CN 105743951 A CN105743951 A CN 105743951A CN 201410765012 A CN201410765012 A CN 201410765012A CN 105743951 A CN105743951 A CN 105743951A
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- received
- queue
- confirmation
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 45
- 239000000203 mixture Substances 0.000 claims description 15
- 238000000034 method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 3
- 230000004059 degradation Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006011 modification reaction Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000003139 buffering Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 208000008425 Protein Deficiency Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
Abstract
本发明提供了一种数据发送、接收的方法及装置,数据发送方案中,将需发送的数据块组成数据块队列;发送所述数据块队列中的数据块;在发送完所述数据块队列中的全部数据块后,根据预设时间内接收到的确认信息确定数据块队列中已被接收的数据块;发送数据块队列中未被接收的数据块。数据接收方案中,接收数据块;确定在预先设定的接收时间阈值和/或接收数据量阈值内接收到的完整的数据块;反馈接收到的完整的数据块的确认信息,所述确认信息用以确认已接收到该数据块。在保证数据正确传输的同时,采用多个数据块组成队列发送后,在预设的接收确认信息时间内对已发送的数据块队列中的数据块进行确认,充分利用带宽,减少传输时间,提高了传输效率。
Description
技术领域
[0001] 本发明涉及数据传输领域,特别涉及一种数据发送、接收的方法及装置。
背景技术
[0002] 近几年,随着计算机性能、存储容量以及互联网技术的发展,基于云计算的应用正逐步从传统的企业级市场,进入终端应用市场,互联网巨头亚马逊、谷歌等相继开放了其云计算平台,国内的互联网巨头也纷纷投入到这一行业。云计算广义上来说,即指服务的交互和使用方式,指通过网络以按需、易扩展的方式获得所需的服务。目前比较流行的终端市场的应用,主要集中在个人数据共享与同步上,即通常所说的个人云存储。目前比较典型的面向个人终端的云存储应用有:Evemote、Dropbox、OneDrive、GoogleDrive、iCloud、金山快盘以及百度云等。个人云存储给予的服务具有简单易用、安全、容量大、实时同步的特点。云存储服务的出现为个人数字文档存储带来了契机,人们开始将云存储运用到个人文档存储。据艾瑞咨询公司发布的《2012年中国云存储行业及用户行为研究报告》显示,2011年中国个人云存储用户规模已达2300万,增长率高达804 %。并预测到2014年,个人云存储用户规模将达4.2亿。
[0003] 但是,在云存储服务为个人数字文档存储带来机遇的同时,有限的网络带宽,也成为了人们使用这些个人云存储应用的一大挑战。在网络带宽有限的条件下,如何合理而有效地利用带宽资源,使得传输过程快速并节省带宽,成为了个人云存储平台发展道路上的一个至关重要的问题。
[0004] 个人云存储数据同步过程中,用户与个人云存储平台间的数据传输确认占据了很大部分的带宽,造成了带宽资源的浪费,导致吞吐量下降,影响了个人云存储的数据传输效率。
发明内容
[0005] 本发明针对上述问题,提出了一种数据发送、接收的方法及装置,用以解决个人云存储数据同步过程中,用户与个人云存储平台间的数据传输确认占据很大部分的带宽,造成带宽资源浪费,导致吞吐量下降,影响了个人云存储的数据传输效率的问题。
[0006] 本发明提供了一种数据发送的方法,包括如下步骤:
[0007] 将需发送的数据块组成数据块队列;
[0008] 发送所述数据块队列中的数据块;
[0009] 在发送完所述数据块队列中的全部数据块后,根据预设时间内接收到的确认信息确定数据块队列中已被接收的数据决;
[0010] 发送数据块队列中未被接收的数据决。
[0011] 本发明提供了一种数据接收的方法,包括如下步骤:
[0012] 接收数据块;
[0013] 确定在预先设定的接收时间阈值和/或接收数据量阈值内接收到的完整的数据块;
[0014] 反馈接收到的完整的数据块的确认信息,所述确认信息用以确认已接收到该数据块。
[0015] 本发明提供了一种数据发送的装置,其包括:
[0016] 数据块队列组成单元,用于将需发送的数据块组成数据块队列;
[0017] 数据块发送单元,用于发送所述数据块队列中的数据块;
[0018] 数据块确认单元,用于在发送完所述数据块队列中的全部数据块后,根据预设时间内接收到的确认信息确定数据块队列中已被接收的数据块;
[0019] 数据块发送单元进一步用于发送数据块队列中未被接收的数据块。
[0020] 本发明提供了一种数据接收的装置,其包括:
[0021] 数据块接收单元,用于接收数据块;
[0022] 数据块确定单元,用于确定在预先设定的接收时间阈值和/或接收数据量阈值内接收到的完整的数据块;
[0023] 确认信息反馈单元,用于反馈接收到的完整的数据块的确认信息,所述确认信息用以确认已接收到该数据块。
[0024] 本发明实施例提供了一种数据发送、接收的方法及装置,其中数据发送的方法由于将需发送的数据块组成数据块队列,发送数据块队列中的全部数据块后,在预设的接收确认时间内接收已发送的数据块确认信息,确定已被接收的数据块并发送未被接收侧接收确认的数据块,而不是发送一个数据块就停下来接收该数据块的确认信息,收到该数据块的确认信息后才发送下一个数据块,所以可以在保证数据正确发送的同时,充分利用带宽,减少传输时间,提高传输效率。
[0025] 本发明实施例提供的数据接收的方法,由于在接收侧开始接收数据块时,在预设的接收时间内或接收数据量阈值内,接收数据块,当接收时间或接收数据块数据量大于预设的接收时间或接收数据量时,发送已接收数据块的确认信息,而不是在每接收到一个完整的数据块后就立即反馈该数据块的确认信息,所以可以在保证数据正确接收的同时,充分利用带宽,减少传输时间,提高传输效率。
附图说明
[0026] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本发明实施例中提供的数据发送的方法实施的流程示意图;
[0028]图2为本发明实施例中提供的数据接收的方法实施的流程示意图;
[0029]图3为本发明实施例中提供的数据发送的装置结构示意图;
[0030]图4为本发明实施例中提供的数据接收的装置结构示意图;
[0031]图5为本发明实施例中提供的数据发送的方法实例示意图;
[0032]图6为本发明实施例中提供的数据接收的方法实例示意图;
[0033]图7为本发明实施例中提供的数据发送、接收的方法实例示意图。
具体实施方式
[0034] 为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。
[0035] 发明人在发明过程中注意到:
[0036] 在网络带宽有限的条件下,可以通过改进数据同步流程来合理而有效地利用带宽资源,使得传输过程快速并节省带宽。数据同步是个人云存储服务的一个最主要的方面,客户端通过网络交互自动地向云端更新本地的文件,从而实现云端数据与本地的统一。近年来,许多研究工作围绕同步效率、网络流量开销、网络带宽利用率等展开,以降低个人云存储网络开销。
[0037] 其中,在用户与个人云存储平台的传输中,数据确认占据了带宽浪费的很大部分。这是因为在目前流行的云存储平台技术中,采用的是连续确认方法,即,在同步过程中,文件会被切成多个数据块,发送侧每发送一个数据块,启动一个定时器,等待接收方成功接收数据后反馈确认信息,若发送方在预设时间内收到确认信息,则继续传输下一个数据块;若定时器超时而未收到接收方反馈的确认信息,则重传这个数据块。
[0038] 现有技术采用的连续确认方式存在传输效率低下的原因在于:用户传输完一个数据块后必须等待服务器端的确认消息,而不能立即继续传输下一个数据块;当有多个数据块要进行传输时,等待每个数据块对应确认信息的时间开销很大,这就导致在用户传送完数据块开始等待服务器确认信息到接收到服务器确认信息的这段时间未合理地利用带宽资源,导致吞吐量下降,传输效率会因此受到影响。
[0039] 针对上述不足,本发明实施例提出了一种数据发送、接收的方法及装置,下面进行说明。
[0040]图1为本发明实施例中提供的数据发送的方法实施的流程示意图,如图1所示,该数据发送的方法,可以包括如下步骤:
[0041] 步骤101:将需发送的数据决组成数据块队列;
[0042] 步骤102:发送所述数据块队列中的数据块;
[0043] 步骤103:在发送完所述数据块队列中的全部数据块后,根据预设时间内接收到的确认信息确定数据块队列中已被接收的数据块;
[0044] 步骤104:发送数据块队列中未被接收的数据块。
[0045] 具体实施中,当发送侧需要发送数据时,先将确定的需要发送的文件分成数据块,将分好的数据块组成待发送的数据块队列,假定数据块队列集合为S = {Sl,S2,…sk,...}。通常,数据发送前,需要将要发送的数据缓冲至发送缓冲队列,本发明实施例中对此不作具体限定,也可以直接发送数据,不对数据进行缓冲。
[0046] 数据块队列中的全部数据块发送出去后,在预设的时间内接收确认信息;根据收到的确认信息来确定已发送的数据决中哪些数据块已经被接收侧接收,然后将已发送的数据块中未被确认已被接收的数据块再次发送出去。
[0047] 其中,预设的时间可以通过设置定时器的方式来实现,也可以采用其他本领域技术人员所掌握的其他设置定时的方式来实现,本发明实施例中不做具体限定。
[0048] 实施中,可以进一步包括:
[0049] 所述将需发送的数据块组成数据块队列后,将数据块队列中需发送的数据块标记为等待;
[0050] 所述发送所述数据块队列中的数据块后,将数据块队列中已发送的数据块标记为已发送;
[0051] 所述在发送完所述数据块队列中的全部数据块后,将根据预设时间内接收到的确认信息确定的数据决队列中已被接收的数据块标记为已确认;
[0052] 所述发送数据块队列中未被接收的数据块,是发送标记为已发送的数据块。
[0053] 具体实施中,数据块队列发送前,将数据块队列集合为S中的每一个数据块&的初始状态标记为“等待”;将数据块队列中已经发送的数据块标记为已发送;在发送完所述数据块队列中的全部数据块后,根据预设时间内接收到的确认信息,将根据确认信息确定数据块队列中已被接收的数据块标记为已确认,确定数据块队列中已被接收后,再次发送数据块队列中未被接收的数据块,即发送数据块队列中标记为已发送的数据块。
[0054] 若数据块队列中所有数据块标记为“已确认”,则结束数据发送,否则等待已发送数据块的确认信息,直至超出预设的时间。假设超出预设的时间时,数据块S1丢包,s ,之后的数据块未收到确认信息因此数据块队列中未收到确认信息的包括数据块sjP s ,之后的数据块,数据块sjP s ,之后的数据块的标记为“已发送”,并将数据块s JP s ,之后的数据决再次发送。
[0055] 实施中,发送数据块队列中未被接收的数据块后,可以进一步包括:
[0056] 根据在预设的时间内接收到的确认信息确定已被接收的数据块;
[0057] 发送未被接收的数据块,直至数据块队列中需发送的数据块全部被确认已被接收。
[0058] 具体实施中,在发送数据块队列中未被接收的数据块后,在预设的时间内接收确认信息,根据确认信息确定已发送的之前未被接收的数据块在此次发送后是否被接收侧接收到,将此次仍未被接收侧确认接收到的数据块发送出去,直至数据块队列中的全部数据块被确认已被接收。
[0059] 本发明实施例提供了一种数据发送、接收的方法及装置,其中数据发送的方法由上述实施例可见,由于将需发送的数据块组成数据块队列,发送数据块队列中的全部数据块后,在预设的接收确认时间内接收已发送的数据块被接收侧确认的信息,确定已被接收的数据块并发送未被接收侧确认的数据块,而不是发送一个数据块就停下来接收该数据块的确认信息,收到该数据块的确认信息后才发送下一个数据块,所以可以在保证数据正确发送的同时,充分利用带宽,减少传输时间,提高传输效率。
[0060]图2为本发明实施例中提供的数据接收的方法实施的流程示意图,如图2示,该数据接收的方法,可以包括如下步骤:
[0061 ] 步骤201:接收数据块;
[0062] 步骤202:确定在预先设定的接收时间阈值和/或接收数据量阈值内接收到的完整的数据块;
[0063] 步骤203:反馈接收到的完整的数据块的确认信息,所述确认信息用以确认已接收到该数据块。
[0064] 具体实施中,接收数据前、连接建立后,建立接收缓冲队列来接收数据块,具体可以在内存中为将要接收的数据块的接收缓冲队列申请内存,申请内存的大小可以根据经验值来设定的,可以根据需要每次都设定不同的值,也可以每次设定相同的值。
[0065] 假定接收缓冲队列集合为:R = Ir1, r2,...rk,...},将接收缓冲队列R的全部状态位标记为“等待”,开始接收数据块,当接收的数据块达到预设的接收时间阈值和/或接收数据量阈值时,接收侧确认所接收到的完整的数据块,并将已确认的每一个数据块的确认信息反馈至发送侧。
[0066] 具体的,可以在数据接收前通过接收定时器和接收数据量预设设定接收时间阈值及接收数据量阈值。通过接收时间阈值和接收数据量阈值可以分别从接收数据块的时间和接收数据块的数据量来确定反馈数据块确认信息的时间。具体的,当接收的数据块的数据量达到接收数据量阈值时,确定当前接收到的完整的数据块,反馈在本次接收数据量阈值内接收到的数据块的确认信息;或者,当接收的数据块的时间超出接收时间阈值时,确定当前接收到的完整的数据块,反馈在本次接收时间阈值内接收到的数据块的确认信息;或者,在接收的数据块的总的数据量小于接收数据量阈值,若只将接收数据量作为启动反馈数据块确认信息的条件,当要接收的全部数据块总的数据量小于接收数据量阈值时,则会出现永远无法反馈数据块确认信息的情况,此时,可以同时判断接收数据块的时间,则可以避免上述无法反馈数据块确认信息的问题。即,当接收的数据块的数据量未达到接收数据量阈值而接收数据块的时间超出接收时间阈值时,确定当前接收到的完整的数据块。设定的接收数据量阈值是为了在传输多个数据块时减小确认开销,设定的接收时间阈值有利于了解数据传输的中间状态,并且易于实现异常恢复。
[0067]由上述实施例可见,由于在接收侧开始接收数据块时,在预设的接收时间内或接收数据量阈值内,接收数据块,当接收时间或接收数据块数据量大于预设的接收时间或接收数据量时,发送已接收数据块的确认信息,而不是在每接收到一个完整的数据块后就立即反馈该数据块的确认信息,所以可以在保证数据正确接收的同时,充分利用带宽,减少传输时间,提高传输效率。
[0068] 基于上述数据发送的方法同一发明构思,本发明实施例中还提供了一种数据发送的装置。由于这些设备解决问题的原理与一种数据发送的方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
[0069] 图3为本发明实施例中提供的数据发送的装置结构示意图,由图3可知,该数据发送的装置,可以包括:
[0070] 数据块队列组成单元301,用于将需发送的数据块组成数据块队列;
[0071] 数据块发送单元302,用于发送所述数据块队列中的数据块;
[0072] 数据块确认单元303,用于在发送完所述数据块队列中的全部数据块后,根据预设时间内接收到的确认信息确定数据块队列中已被接收的数据块;
[0073] 数据块发送单元302进一步用于发送数据块队列中未被接收的数据块。
[0074] 实施中,该数据发送的装置可以进一步包括:数据块状态标记单元,用于在所述将需发送的数据块组成数据块队列后,将数据块队列中需发送的数据块标记为等待;在所述发送所述数据块队列中的数据块后,将数据块队列中已发送的数据块标记为已发送;所述在发送完所述数据块队列中的全部数据块后,将根据预设时间内接收到的确认信息确定的数据块队列中已被接收的数据块标记为已确认;
[0075] 数据块发送单元进一步用于在发送数据决队列中未被接收的数据块时,发送标记为已发送的数据块。
[0076] 实施中,数据块确认单元可以进一步用于在发送数据块队列中未被接收的数据块后,根据在预设的时间内接收到的确认信息确定已被接收的数据块;
[0077] 数据块发送单元可以进一步用于发送未被接收的数据块,直至数据块队列中需发送的数据块全部被确认已被接收。
[0078] 基于上述数据接收的方法同一发明构思,本发明实施例中还提供了一种数据接收的装置。由于这些设备解决问题的原理与一种数据接收的方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
[0079]图4为本发明实施例中提供的数据接收的装置结构示意图,如图4所示,该数据接收的装置,可以包括:
[0080] 数据块接收单元401,用于接收数据块;
[0081] 数据块确定单元402,用于确定在预先设定的接收时间阈值和/或接收数据量阈值内接收到的完整的数据块;
[0082] 确认信息反馈单元403,用于反馈接收到的完整的数据块的确认信息,所述确认信息用以确认已接收到该数据块。
[0083] 为了更好地理解本发明实施例中数据的发送与接收过程,下面以实例进行说明。
[0084]图5为本发明实施例中提供的数据发送的方法实例示意图,如图5所示,包括如下步骤:
[0085] 步骤501:发送侧发送文件前,与接收侧建立连接;
[0086] 步骤502:将需发送的文件分成数据块组成数据块队列,将数据块队列中的数据块缓冲至发送缓冲队列;
[0087] 步骤503:将发送缓冲队列中的每一个数据块标记为“等待”;
[0088] 步骤504:将发送缓冲队列中的数据块发送出去,将已发送的数据块标记为“已发送”;
[0089] 步骤505:发送缓冲队列中的数据块全部发送完毕,启动定时器,在定时器规定的时间内接收已发送数据块的确认信息;
[0090] 步骤506:判断定时器是否超时,若是,执行步骤507 ;否则,执行步骤508。
[0091] 步骤507:发送被标记为“已发送”的数据块;
[0092] 步骤508:判断是否收到已发送的数据块的确认信息,若是,执行步骤509,否则,执行步骤506 ;
[0093] 步骤509:标记收到确认信息的数据块状态位为“已确认”;
[0094] 步骤510:判断是否全部数据块被标记为“已确认”,若是,执行步骤511 ;否则,执行步骤506 ;
[0095] 步骤511:数据发送结束。
[0096]图6为本发明实施例中提供的数据接收的方法实例示意图,如图6所示,包括如下步骤:
[0097] 步骤601:接收数据前,与发送例建立连接;
[0098] 步骤602:将接收缓冲队列中的每一个数据块标记为“等待”,启动接收时间计时器或接收数据块的数据量计数器;
[0099] 步骤603:判断是否接收缓冲队列中全部数据块的状态位为“已确认”,若是,执行步骤604 ;否则,执行步骤605 ;
[0100] 步骤604:数据块接收结束;
[0101] 步骤605:判断是否接收时间大于接收时间阈值和/或接收数据决的数据量大于接收数据量阈值,若是,执行步骤608 ;否则执行步骤606 ;
[0102] 步骤606:判断是否收到完整的数据块,若是,执行步骤607 ;否则,执行步骤603 ;
[0103] 步骤607:将收到完整的数据块标记为“已确认”,并继续执行步骤603,直至数据接收结束。
[0104] 步骤608:重置接收时间计时器和/或接收数据块的数据量计数器,对接收到的所有完整的数据块反馈确认信息至发送侧,执行步骤603,直至数据接收结束。
[0105]图7为本发明实施例中提供的数据发送、接收的方法的实例示意图,如图7所示,具体如下:
[0106] 对于发送侧,先将要传输的文件分成多个数据块;将要发送的数据块组成数据块队列,将数据块队列中的数据块放入发送缓冲队列中,假定发送缓冲队列集合为:S = Is1,s2,...sk,...},标记发送缓冲队列中的数据块为“等待”;发送侧将发送缓冲队列中的数据块{Sl,s2,...sk,...}依次发送给接收侧,已发送的数据块标记为“已发送”。发送缓冲队列中的数据块全部发送完毕后,启动一个发送定时器,确定是否收到数据块的确认信息,若有则将收到确认信息的相应数据块标记为“已确认”。假设此时接收到数据块{Sl,S2, }的确认信息,{Sl,S2,}数据块的标记状态从“已发送”更新为“已确认”。检查发送缓冲队列中所有数据块的状态位是否都为“已确认”,若全部为“已确认”,则数据传输结束,即,需发送的数据块已全部被接收侧接收;否则,继续等待数据块的确认信息,直至发送定时器超时,将被标记为“已发送”的数据块发送出去。假设发送定时器超时,数据块S1丢包,S ,之后的数据块未收到确认信息,因此数据块队列中未收到确认信息的包括数据块81和S ,之后的数据块,数据块^和S.,之后的数据块标记为“已发送”,并将数据块S JP s ,之后的数据块发送后,启动发送定时器,确定是否收到数据块的确认信息,若有则将收到确认信息的相应数据块标记为“已确认”,检查数据块^和S ,之后的数据块中所有数据块的状态位是否都为“已确认”,若全部为“已确认”,则数据传输结束。
[0107] 对于接收侧,建立接收缓冲队列来接收数据块,具体可以在内存中为将要接收的数据块的接收缓冲队列申请内存,假定接收缓冲队列集合为:R = Ir1, r2,...rk,...},将接收缓冲队列R的每个数据块标记为“等待”,开始接收数据时,启动接收定时器和接收数据块的数据量计数器来设定接收阈值,通过接收定时器预设接收时间阈值,通过接收数据块的数据量计数器预设接收数据量阈值。当累计接收到的数据块的数据量达到预设的接收数据量阈值和/或接收时间达到预设的接收时间阈值时,接收侧确认所接收到的完整的数据块,并将确认的每一个完整的数据块的确认信息反馈至发送侧。当接收到完整的数据块rk时,数据块rk对应的状态位标记为“已确认”,累计接收到的数据块的数据量增加数据块r k的数据量。
[0108] 预设的接收时间阈值及接收数据量阈值在数据接收前设定好。
[0109] 假设上一次接收侧返回确认信息到此刻接收到的数据块Ir1, r(1+1),-r,}的数据量大于预设的接收数据量阈值时,或者到达预设的接收时间阈值时,对这个时间段内接收到的完整的数据块1^^(1+1),-TjI进行确认信息的反馈。当接收缓冲队列中所有数据块的状态位为“已确认”,则完成数据接收。
[0110] 在数据块传输过程中接收侧累计接收一定数据量的数据块后,向发送侧反馈这些数据块的确认信息,减少发送侧发送每个数据块的平均等待时间,即有效减少了数据传输的时间,提高了数据传输效率。
[0111] 为了描述的方便,以上装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
[0112] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0113] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0114] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0115] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0116] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0117] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种数据发送的方法,其特征在于,包括如下步骤: 将需发送的数据块组成数据块队列; 发送所述数据块队列中的数据块; 在发送完所述数据块队列中的全部数据块后,根据预设时间内接收到的确认信息确定数据块队列中已被接收的数据块; 发送数据块队列中未被接收的数据块。
2.如权利要求1所述的方法,其特征在于, 所述将需发送的数据块组成数据块队列后,将数据块队列中需发送的数据块标记为等待; 所述发送所述数据块队列中的数据块后,将数据块队列中已发送的数据块标记为已发送; 所述在发送完所述数据块队列中的全部数据块后,将根据预设时间内接收到的确认信息确定的数据块队列中已被接收的数据块标记为已确认; 所述发送数据块队列中未被接收的数据块,是发送标记为已发送的数据块。
3.如权利要求1所述的方法,其特征在于,发送数据块队列中未被接收的数据块后,进一步包括: 根据在预设时间内接收到的确认信息确定已被接收的数据块; 发送未被接收的数据块,直至数据块队列中需发送的数据块全部被确认为已被接收。
4.一种数据接收的方法,其特征在于,包括如下步骤: 接收数据块; 确定在预先设定的接收时间阈值和/或接收数据量阈值内接收到的完整的数据块; 反馈接收到的完整的数据块的确认信息,所述确认信息用以确认已接收到该数据块。
5.一种数据发送的装置,其特征在于,包括: 数据块队列组成单元,用于将需发送的数据块组成数据块队列; 数据块发送单元,用于发送所述数据块队列中的数据块; 数据块确认单元,用于在发送完所述数据块队列中的全部数据块后,根据预设时间内接收到的确认信息确定数据块队列中已被接收的数据块; 数据块发送单元进一步用于发送数据块队列中未被接收的数据块。
6.如权利要求5所述的装置,其特征在于,进一步包括:数据块状态标记单元,用于在所述将需发送的数据块组成数据块队列后,将数据块队列中需发送的数据块标记为等待;在所述发送所述数据块队列中的数据块后,将数据块队列中已发送的数据块标记为已发送;在所述发送完所述数据块队列中的全部数据块后,将根据预设时间内接收到的确认信息确定的数据块队列中已被接收的数据块标记为已确认; 数据块发送单元进一步用于在发送数据块队列中未被接收的数据块时,发送标记为已发送的数据块。
7.如权利要求5所述的装置,其特征在于, 数据块确认单元进一步用于在发送数据块队列中未被接收的数据块后,根据在预设时间内接收到的确认信息确定已被接收的数据块; 数据块发送单元进一步用于发送未被接收的数据块,直至数据块队列中需发送的数据块全部被确认已被接收。
8.一种数据接收的装置,其特征在于,包括: 数据块接收单元,用于接收数据块; 数据块确定单元,用于确定在预先设定的接收时间阈值和/或接收数据量阈值内接收到的完整的数据块; 确认信息反馈单元,用于反馈接收到的完整的数据块的确认信息,所述确认信息用以确认已接收到该数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410765012.3A CN105743951A (zh) | 2014-12-11 | 2014-12-11 | 一种数据发送、接收的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410765012.3A CN105743951A (zh) | 2014-12-11 | 2014-12-11 | 一种数据发送、接收的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105743951A true CN105743951A (zh) | 2016-07-06 |
Family
ID=56240595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410765012.3A Pending CN105743951A (zh) | 2014-12-11 | 2014-12-11 | 一种数据发送、接收的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105743951A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153687A (zh) * | 2017-12-30 | 2018-06-12 | 深圳市科陆电子科技股份有限公司 | 一种基于mcu的串口通信方法和系统 |
CN108881359A (zh) * | 2017-10-31 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种基于视联网的文件下载方法和装置 |
CN110831028A (zh) * | 2018-08-10 | 2020-02-21 | 华为技术有限公司 | 一种控制定时器的方法及装置 |
CN111064488A (zh) * | 2018-10-01 | 2020-04-24 | 富士施乐株式会社 | 收发装置、收发系统、存储介质及收发方法 |
CN112491990A (zh) * | 2020-11-17 | 2021-03-12 | 中科三清科技有限公司 | 混合云网络数据传输方法、装置、电子设备及存储介质 |
CN113626260A (zh) * | 2021-10-11 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177237A (zh) * | 1996-09-04 | 1998-03-25 | 冲电气工业株式会社 | 图像编码器、图像解码器以及图像传送系统 |
CN1272270A (zh) * | 1997-09-30 | 2000-11-01 | 摩托罗拉公司 | 在分组数据通信系统中传输数据分组的方法和设备 |
CN101313486A (zh) * | 2005-03-07 | 2008-11-26 | 阿尔构网络股份有限公司 | 无线分组网络的块确认协议 |
CN101588225A (zh) * | 2009-06-25 | 2009-11-25 | 杭州再灵电子科技有限公司 | 一种基于分组交换网络的快速重传技术 |
CN101677264A (zh) * | 2008-09-17 | 2010-03-24 | 艾威梯科技(北京)有限公司 | Ack发送方法 |
-
2014
- 2014-12-11 CN CN201410765012.3A patent/CN105743951A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177237A (zh) * | 1996-09-04 | 1998-03-25 | 冲电气工业株式会社 | 图像编码器、图像解码器以及图像传送系统 |
CN1272270A (zh) * | 1997-09-30 | 2000-11-01 | 摩托罗拉公司 | 在分组数据通信系统中传输数据分组的方法和设备 |
CN101313486A (zh) * | 2005-03-07 | 2008-11-26 | 阿尔构网络股份有限公司 | 无线分组网络的块确认协议 |
CN101677264A (zh) * | 2008-09-17 | 2010-03-24 | 艾威梯科技(北京)有限公司 | Ack发送方法 |
CN101588225A (zh) * | 2009-06-25 | 2009-11-25 | 杭州再灵电子科技有限公司 | 一种基于分组交换网络的快速重传技术 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881359A (zh) * | 2017-10-31 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种基于视联网的文件下载方法和装置 |
CN108153687A (zh) * | 2017-12-30 | 2018-06-12 | 深圳市科陆电子科技股份有限公司 | 一种基于mcu的串口通信方法和系统 |
CN108153687B (zh) * | 2017-12-30 | 2021-03-30 | 深圳市科陆电子科技股份有限公司 | 一种基于mcu的串口通信方法和系统 |
CN110831028A (zh) * | 2018-08-10 | 2020-02-21 | 华为技术有限公司 | 一种控制定时器的方法及装置 |
CN111064488A (zh) * | 2018-10-01 | 2020-04-24 | 富士施乐株式会社 | 收发装置、收发系统、存储介质及收发方法 |
CN112491990A (zh) * | 2020-11-17 | 2021-03-12 | 中科三清科技有限公司 | 混合云网络数据传输方法、装置、电子设备及存储介质 |
CN112491990B (zh) * | 2020-11-17 | 2021-08-10 | 中科三清科技有限公司 | 混合云网络数据传输方法、装置、电子设备及存储介质 |
CN113626260A (zh) * | 2021-10-11 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105743951A (zh) | 一种数据发送、接收的方法及装置 | |
CN102006283B (zh) | 数据传输的方法和装置 | |
CN106330414B (zh) | 一种报文传输方法及装置 | |
CN109348508B (zh) | 数据传输方法及装置 | |
US10027781B2 (en) | TCP link configuration method, apparatus, and device | |
WO2018113373A1 (zh) | 一种数据传输方法及装置 | |
US11251911B2 (en) | Data transmission method and related device | |
CN105376173B (zh) | 一种发送窗口流量控制方法和终端 | |
CN101436978A (zh) | 使用udp协议进行可靠数据传输的方法 | |
CN105791154B (zh) | 一种基于udp的数据传输方法及装置 | |
CN103957169A (zh) | 一种基于反向请求的可靠udp的实现方法 | |
CN104780028A (zh) | 一种实现tcp数据报文重传的方法及设备 | |
CN105245271B (zh) | 卫星通信网络加速装置以及方法 | |
CN105763474A (zh) | 数据传输方法和装置 | |
CN104158760A (zh) | 一种广域网tcp单边加速的方法及系统 | |
KR20130065619A (ko) | 송신 노드로부터 목적지 노드로의 데이터 전송 방법 | |
CN103546258A (zh) | 一种数据传输方法及装置 | |
CN103516673A (zh) | 一种网络数据通信方法、系统及客户端和服务器 | |
CN101771718A (zh) | 剪贴板同步方法及系统 | |
CN111002310A (zh) | 适用于机械臂与pc间的数据通信方法及系统 | |
US20110044332A1 (en) | Communication apparatus, communication system, and communication method | |
CN104486187B (zh) | 一种动态同步的can通讯设备和方法 | |
WO2021128602A1 (zh) | 一种数据传输的方法和装置 | |
CN104184729A (zh) | 一种报文处理方法和装置 | |
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C06 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160706 |
|
RJ01 | Rejection of invention patent application after publication |