CN104852785A - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN104852785A CN104852785A CN201510192371.9A CN201510192371A CN104852785A CN 104852785 A CN104852785 A CN 104852785A CN 201510192371 A CN201510192371 A CN 201510192371A CN 104852785 A CN104852785 A CN 104852785A
- Authority
- CN
- China
- Prior art keywords
- packet
- target terminal
- continuous transmission
- data
- transmission quantity
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据传输方法及装置,该方法包括:根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量;接收所述目标终端发送的对所述N个数据包的接收结果;解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收;若是,则将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个。采用本发明,解决了现有技术中数据传输效率较低的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据传输方法及装置。
背景技术
目前,大部分汽车都是通过第二代车辆随车自诊断系统(On-Board DiagnosisII,OBDII)对车辆的状况进行诊断,在进行诊断的过程中会用到OBD读码卡,OBD读码卡无论是内部模块之间,还是与外部设备之间(例PC端)都存在大量的数据传输,数据传输的准确性以及数据传输的效率是衡量OBD读码卡性能的重要指标。
现有技术中,数据的传输方式是:数据发送方发送一帧数据,然后接收接收方反馈的接收结果,当根据接收结果分析出数据未被正确接收时,则重新发送这一帧数据,当根据该接收结果分析出数据被正确接收时则发送下一帧数据。这种传输数据的方法交互次数多,传输效率较低。
发明内容
本发明公开了一种数据传输方法和装置,能够解决现有技术中传输数据时交互次数较多,效率较低的问题。
第一方面,本发明提供了一种数据传输方法,该方法包括:
根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量,N为大于1的自然数;
接收所述目标终端发送的对所述N个数据包的接收结果;
解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收;
若是,则将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个,其中,M为大于N的自然数。
结合第一方面,在第一方面的第一种可能的实现方式中,所述解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收之后,所述方法还包括:
若否,则将所述当前连续传输量下调为Z,以使下一次向所述目标终端连续发送的数据包的数量为Z个,其中,Z为小于N的自然数。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述若否,则将所述当前连续传输量下调为Z包括:
若否,则根据解析得到的数据分析出未被正确接收的数据包;
将所述当前连续传输量下调为Z;
根据所述当前连续传输量向所述目标终端连续发送Z个数据包,其中,所述Z个数据包中包括至少一个所述未被正确接收的数据包。
结合第一方面以及第一方面的第一种和第二种可能的实现方式中的任何一种方式,在第一方面的第三种可能的实现方式中,所述N个数据包为所有数据包中的一部分数据包,所述N个数据包中的数据包包含其自身在所述所有数据包中的总序列号,用于所述目标终端正确接收到所述数据包后,根据所述总序列号排列所述数据包的位置;所述根据预设的连续传输量向目标终端连续发送N个数据包之前,所述方法还包括:
在所述数据包中设置传输序列号,以使所述目标终端生成包含所述传输序列号的接收结果,以指示所述接收结果对应所述数据包,其中,所述传输序列号所占字节数小于所述总序列号所占字节数。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据预设的连续传输量向目标终端连续发送N个数据包之前,所述方法还包括:
指示用户设置所述连续传输量;
接收所述用户的设置操作,并根据所述设置操作生成所述数据传输量。
第二方面,本发明实施例提供一种数据传输装置,该装置包括:
发送单元,用于根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量,N为大于1的自然数;
接收单元,用于接收所述目标终端发送的对所述N个数据包的接收结果;
解析单元,用于解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收;
调整单元,用于在所述解析单元的判断结果为是时,将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个,其中,M为大于N的自然数。
结合第二方面,在第二方面的第一种可能的实现方式中,所述调整单元还用于在所述解析单元的判断结果为否时,将所述当前连续传输量下调为Z,以使下一次向所述目标终端连续发送的数据包的数量为Z个,其中,Z为小于N的自然数。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述调整单元包括:
分析子单元,用于在所述解析单元的判断结果为否时,根据解析得到的数据分析出未被正确接收的数据包;
调整子单元,用于将所述当前连续传输量下调为Z;
发送子单元,用于根据所述当前连续传输量向所述目标终端连续发送Z个数据包,其中,所述Z个数据包中包括至少一个所述未被正确接收的数据包。
结合第二方面以及第二方面的第一种和第二种可能的实现方式中的任何一种方式,在第二方面的第三种可能的实现方式中,所述N个数据包为所有数据包中的一部分数据包,所述N个数据包中的数据包包含其自身在所述所有数据包中的总序列号,用于所述目标终端正确接收到所述数据包后,根据所述总序列号排列所述数据包的位置;所述装置还包括:
设置单元,用于在所述数据包中设置传输序列号,以使所述目标终端生成包含所述传输序列号的接收结果,以指示所述接收结果对应所述数据包,其中,所述传输序列号所占字节数小于所述总序列号所占字节数。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:
指示单元,用于指示用户设置所述连续传输量;
生成单元,用于接收所述用户的设置操作,并根据所述设置操作生成所述数据传输量。
通过实施本发明,每一次向目标终端发送数据时,都同时发送多个数据包,之后根据目标终端反馈的接收结果判断发送的多个数据是否全部被正确接收了,若是,则增加下一次发送的数据包的数量,这样可以根据数据传输链路的畅通情况实时调整发送的数据包的数量,提高了数据传输的效率。
当向目标终端发送的多个数据包未全部被正确接收时,则减少下一次发送的数据包的数量,进一步地提高了数据传输的效率;进一步地,下一次向目标终端发送数据包时,发送的数据包不一定要包括所有上一次未被正确接收的数据包,省略了对数据包进行分析归类的环节,进一步地提高了数据的传输效率;为每个数据包生成一个临时的传输序列号,该传输序列号用于标识当前需要进行传输的数据包,以使目标终端根据该传输序列号反馈接收结果,传输序列号相对于总序列号要小得多,所占字节较少,可以提高数据的处理效率;连续传输量还可以由用户根据当前设备的一些运行情况来设置,提升了用户体验。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据传输方法的流程示意图。
图2是本发明实施例提供的另一种数据传输方法的流程示意图。
图3是本发明实施例提供的一种数据传输装置的结构示意图。
图4是本发明实施例提供的另一种数据传输装置的结构示意图。
图5是本发明实施例提供的另一种数据传输装置的结构示意图。
图6是本发明实施例提供的另一种数据传输装置的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中的数据发送端可以为OBD读码卡(或者说OBD读码卡中的数据发送模块),OBD读码卡可以向与之建立了通信连接的终端设备发送数据包(数据帧);当然,数据的发送端还可以是与OBD读码卡建立了通信连接的终端设备,该终端设备用于向OBD读码卡发送数据包(数据帧)。另外,数据发送端发送的数据对实时性不作要求,也即是说,本发明实施例中的当每一个数据包都被正确接收后,即标志数据已经传输完毕,不同于一些场景中,数据接收端在接收数据的过程中还在使用数据而对数据实时性要求比较高(如在线观看的视频数据)。以下,均以数据发送端为OBD读码卡为例来展开描述。
请参见图1,图1是本发明实施例提供的一种数据传输方法的流程示意图,该方法包括但不限于如下步骤。
步骤S101:根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量,N为大于1的自然数。
具体地,预设的连续传输量为一项数据传输指标,规定了在进行数据传输时一次性连续发送数据包的数量,该一次性连续发送N个数据包是指在发送该N个数据包的过程中,先不接收目标终端反馈的结果(相应地,目标终端在该过程中也可以不发送结果)。
进一步地,连续传输量是一个可以调整的动态指标,即OBD读码卡可以根据用户的实时设置改变连续传输量的大小,当然,OBD读码卡还可以根据自身发送能力实时自动调整连续传输量的大小,其中,N为大于1的自然数,是当前连续传输量的具体数值大小。
在进一步地,在向目标终端发送N个数据包之前,OBD读码卡会先与目标终端进行“握手”,具体为,OBD读码卡准备好传输数据后,向数据发送方发送请求开始传输数据的请求指令;目标终端收到请求指令后,会做好接收数据的相关准备,例如,目标终端准备好数据存放区,用于存储接收到的数据,待准备工作做好后即向OBD读码卡发送准许开始传输数据的传输指令,以使OBD读码卡开始发送N个数据包。传输指令发出后,OBD读码卡和目标终端都会以数据传输为较高的优先级的事件进行处理,以有效地提高数据传输效率,防止数据错位、传输失败、频繁重传等问题。
需要说明的是,OBD读码卡需要向目标终端发送的数据包很多,每一次连续发送的多个数据包只是所有数据包中的一部分,如果说每一次连续发送数据包为一轮发送的的话,要想将所有数据包全部发送给目标终端则需要很多轮发送。
步骤S102:接收所述目标终端发送的对所述N个数据包的接收结果。
具体地,目标终端对每个数据包依次进行接收,并分别记录每个数据包的接收结果,最终将各个数据包的接收结果汇总为一个接收结果,并把汇总后的接收结果反馈给OBD读码卡。每个数据包包括有效数据和有效数据校验码,当目标终端接收到数据包时,不一定正确接收了有效数据,具体是否正确接收了需要根据数据校验码来进行校验,校验码包括但不限于循环冗余校验码(CyclicRedundancy Check,CRC);对于任意一个数据包来说,其接收结果的可选情况包括正确接收和未正确接收,在向OBD读码卡反馈的接收结果中,可以通过0表示未正确接收,通过1表示正确接收,进一步地,在接收结果中,还包括一个标识号,用于标记哪个结果与哪个数据包对应,该标识号来源于OBD读码卡发送给目标终端的数据包,数据包中包含的内容可以如表1所示。
Head | PLen | BPTCnt | BPCnt | PCnt | Data | CRC |
表1
请参见表1,各个字节的含义具体为:
Head:包起始的标记;
PLen:数据包的长度;
BPTCnt:连续传输量;
BPCnt:传输序列号,当前数据包在当前一轮传输过程中的序列号;
PCnt:总序列号,当前数据包在所有数据包中的总序列号;
Data:有效数据;
CRC,校验码,用于校验数据是否被正确接收到。
在一种可选方案中,上述标识号可以是数据包中的“PCnt”,即总序列号;在另一种可选的方案中,上述标识号还可以是“BPCnt”,即传输序列号,标识号具体是那个量可以预先设置。
以标识号为总序列号为例,假设当前连续传输量为4,OBD读码卡接收到的接收结果包含的内容如表2所示。
表2
如表2所示,表2中的内容可以具体封装在一个数据包中,目标终端以数据包的形式向OBD读码卡发送接收结果,表2所呈现的内容以及呈现的方式只是一种可选的方案,不应作为本发明保护范围的限制。
步骤S103:解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收。
具体地,OBD读码卡接收到目标终端反馈的接收结果后,对该接收结果进行解析,在OBD读码卡中保留有各个数据包对应的标识号,具体对应关系可以如表3所示。
表3
具体地,OBD读码卡将接收到的表2中的数据内容与预先保留的表3中的内容进行匹配,可以得出各个数据包的接收结果如表4所示。
表4
如表4所示,OBD读码卡根据目标终端反馈的接收结果,并结合预留的对应关系,可以得出数据包A~D中的每个数据包的接收结果都为“正确接收”。
需要说明的是,上述举出的实例为每个数据包都被正确接收了,但实际操作中,还会出现部分数据包未被正确接收,未被正确接收的情况此处不再举例。
步骤S104:若是,则将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个,其中,M为大于N的自然数。
具体地,当OBD读码卡得出发送的N个数据包全部被目标终端接收后,则将连续传输量这一数据传输指标的数值上调为M,以便下一次根据连续传输量向目标终端发送数据包时,传输的数量为M。例如,某一次OBD读码卡向目标终端发送了4个数据包,之后根据目标终端反馈的接收结果得出这4个数据包全部被目标终端正确接收了,那么,OBD读码卡将当前的连续传输量4提升为6,在进行下一轮数据传输时,则根据最新的数据传输量6,向目标终端发送6个数据包。可选地,当所有数据包经过多轮发送,全部正确发送给了目标终端后,OBD读码卡与目标终端之间还可以有一个数据传输结束的确认过程,即OBD读码卡向目标终端发送数据传输完毕指令,通知目标终端结束数据传输;目标终端接收到传输完毕指令后,响应该数据传输完毕指令,不再接收数据包。
可选的,在一种可选的方案中,当OBD读码卡得出数据包未全部被正确接收时,将所述当前连续传输量下调为Z,以使下一次向所述目标终端连续发送的数据包的数量为Z个,其中,Z为小于N的自然数。
进一步地,在又一种可选的方案中,将所述当前连续传输量下调为Z可以包括:
根据解析得到的数据分析出未被正确接收的数据包;
将所述当前连续传输量下调为Z;
根据所述当前连续传输量向所述目标终端连续发送Z个数据包,其中,所述Z个数据包中包括至少一个所述未被正确接收的数据包。
举例来说,当向目标终端发送的4个数据包中有2个未被正确接收时,将连续传输量下调为2,然后根据调整后的连续传输量2向终端发送2个数据包,该2个数据包不一定要全部为上一轮中未被正确接收的2个数据包。
可选的,在又一种可选的方案中,OBD读码卡上调连续传输量时,上调的幅度可以是固定幅度(例如,当需要上调时,每次上调的数量都为10个数据包),也可以是动态幅度,当为动态幅度是,每一次上调的幅度都可以有环境参数(OBD读码卡和/或目标终端中的环境参数)来决定,环境参数可以是一个也可以是多个,环境参数包括但不限于CPU的占用率、通信链路的畅通状况、总数据包的数量等。
可选的,在又一种可选的方案中,在对连续传输量进行上调时,可以向用户输出提示信息,以使用户确认是否上调,或者指示用户设置上调的幅度。
请参见图2,图2是本发明实施例提供的另一种数据传输方法流程示意图,该方法包括但不限于如下步骤。
步骤S201:在所述数据包中设置传输序列号,以使所述目标终端生成包含所述传输序列号的接收结果,以指示所述接收结果对应所述数据包,其中,所述传输序列号所占字节数小于所述总序列号所占字节数(可以参照表1)。
具体地,OBD读码卡预先在当前需要进行传输的N个数据包中的每个数据包中设置一个传输序列号,例如,当前需要连续传送的数据包为A、B、C、D四个数据包,那么可以给数据包A、B、C、D分别分配传输序列号00、01、10、11,当目标终端接收到OBD读码卡发送的数据包A、B、C、D后,会将各个数据包中的传输序列号和各个数据包的接收结果进行关联以得到这四个数据包的传输结果;另外,OBD读码卡中还预留有数据包与传输序列号的对应关系。
进一步地,一个传输序列号可以与多个数据包对应,但是与同一个传输序列号对应的数据包不可能出现在同一轮数据传输过程中,举例来说,第一轮连续传输的数据包为A、B、C、D,对应的传输序列号依次为00、01、10、11,第二轮连续传输的数据包为E、F、G,对应的传输序列号依次为00、01、10,虽然传输序列号有重复使用,但是不是重复在同一轮数据传输过程中。
需要说明的是,当前需要传输的N个数据包为所有数据包中的一部分数据包,N个数据包中的数据包包含其自身在所有数据包中的总序列号,用于目标终端正确接收到数据包后,根据总序列号排列数据包的位置,例如,在OBD读码卡中,数据包A、B、C、D分别在第1、2、3、4个位置上,那么目标终端接收到这四个数据包后,也需要使A、B、C、D分别在目标终端的第1、2、3、4个位置上,才能保证数据完整无误。
步骤S202:指示用户设置所述连续传输量。
具体地,在一种方案中,OBD读码卡具有一个触摸显示屏,在该显示屏上可以弹出属性设置窗口,用户可以通过该窗口设置连续传输量的数值大小。在又一种方案中,OBD读码卡具有物理按键,用户可以通过该按键设置连续传输量的数值大小。
步骤S203:接收所述用户的设置操作,并根据所述设置操作生成所述数据传输量。
具体地,用户在执行设置连续传输量的操作时,相应地,OBD读码卡会接收(或者检测到)这种操作,进而根据该操作生成数据传输量,以作为步骤S204中数据传输的依据。
步骤S204:根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量,N为大于1的自然数。
具体地,请参照步骤S101,此处不再赘述。
步骤S205:接收所述目标终端发送的对所述N个数据包的接收结果。
具体地,该接收结果中包括传输序列号以及每个传输序列号对应的接收结果,该传输序列号相当于步骤S102中的“标识号”,现有技术中,“标识号”通常为本发明实施例中提到的“总序列号”,也即是说,本发明通过“传输序列号”而不是“总序列号”作为标识号,其他的实时细节可以对应参照步骤S102,此处不再赘述。
步骤S206:解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收。
具体地,实时细节参照步骤S103,此处不再赘述,其中,“标识号”即是指本实施例中的“传输序列号”。
步骤S207:若是,则将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个,其中,M为大于N的自然数。
具体地,实时细节参照步骤S104,此处不再赘述,其中,“标识号”即是指本实施例中的“传输序列号”。
上述详细阐述了本发明实施例的方法,为了便于更好地实施本发明实施例的上述方案,相应地,下面提供了本发明实施例的装置。
请参见图3,图3是本发明实施例提供的一种数据传输装置30的结构示意图,该装置30可以包括发送单元301、接收单元302、解析单元303和调整单元304,其中,各个单元的详细描述如下。
发送单元301用于根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量,N为大于1的自然数;
接收单元302用于接收所述目标终端发送的对所述N个数据包的接收结果;
解析单元303用于解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收;
调整单元304用于在解析单元303的判断结果为是时,将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个,其中,M为大于N的自然数。
进一步地,在一种可选的方案中,调整单元304还用于在所述解析单元303的判断结果为否时,将所述当前连续传输量下调为Z,以使下一次向所述目标终端连续发送的数据包的数量为Z个,其中,Z为小于N的自然数。
再进一步地,在又一种可选的方案中,调整单元304还可以为如图4所示的装置中的调整单元304,在图4中,调整单元304可以包括如下子单元。
分析子单元3041用于在所述解析单元的判断结果为否时,根据解析得到的数据分析出未被正确接收的数据包;
调整子单元3042用于将所述当前连续传输量下调为Z;
发送子单元3043用于根据所述当前连续传输量向所述目标终端连续发送Z个数据包,其中,所述Z个数据包中包括至少一个所述未被正确接收的数据包。
需要说明的是,在本发明实施例中,各个单元的具体实现可以对应参照图1所示的方法实施例的相应描述,此处不再赘述。
请参见图5,图5是本发明实施例提供的另一种数据传输装置的结构示意图,该装置除了包括如图3所示的发送单元301、接收单元302、解析单元303和调整单元304之外,还可以包括设置单元305、指示单元306和生成单元307,其中,各个单元的详细描述如下。
设置单元305用于在所述数据包中设置传输序列号,以使所述目标终端生成包含所述传输序列号的接收结果,以指示所述接收结果对应所述数据包,其中,所述传输序列号所占字节数小于所述总序列号所占字节数。
指示单元306用于指示用户设置所述连续传输量。
生成单元307用于接收所述用户的设置操作,并根据所述设置操作生成所述数据传输量。
需要说明的是,在本发明实施例中,各个单元的具体实现可以对应参照图2所示的方法实施例的相应描述,此处不再赘述。
请参照图6,图6时本发明实施例提供的另一种数据传输装置60的结构示意图,该装置60可以包括:至少一个处理器601,例如CPU,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602以及显示屏606。其中,通信总线602用于实现这些组件之间的连接通信。其中,用户接口603可以包括显示屏(Displ6y)606,可选用户接口603还可以包括标准的有线接口、无线接口。通信接口604可选的可以包括标准的有线接口(如数据线接口、网线接口等)、无线接口(如WI-FI接口、蓝牙接口、近场通讯接口)。存储器605可以是高速R6M存储器,也可以是非不稳定的存储器(non-vol6tile memory),例如至少一个磁盘存储器。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。如图6所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及数据传输程序。
在图6所示的数据传输装置60中,通信接口604主要用于连接第二终端,与第二终端进行数据通信;而处理器601可以用于调用存储器605中存储的数据传输程序,并执行以下操作:
根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量,N为大于1的自然数;
接收所述目标终端发送的对所述N个数据包的接收结果;
解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收;
若是,则将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个,其中,M为大于N的自然数。
进一步地,所述解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收之后,所述方法还包括:
若否,则将所述当前连续传输量下调为Z,以使下一次向所述目标终端连续发送的数据包的数量为Z个,其中,Z为小于N的自然数。
进一步地,所述若否,则将所述当前连续传输量下调为Z包括:
若否,则根据解析得到的数据分析出未被正确接收的数据包;
将所述当前连续传输量下调为Z;
根据所述当前连续传输量向所述目标终端连续发送Z个数据包,其中,所述Z个数据包中包括至少一个所述未被正确接收的数据包。
进一步地,其特征在于,所述N个数据包为所有数据包中的一部分数据包,所述N个数据包中的数据包包含其自身在所述所有数据包中的总序列号,用于所述目标终端正确接收到所述数据包后,根据所述总序列号排列所述数据包的位置;所述根据预设的连续传输量向目标终端连续发送N个数据包之前,所述方法还包括:
在所述数据包中设置传输序列号,以使所述目标终端生成包含所述传输序列号的接收结果,以指示所述接收结果对应所述数据包,其中,所述传输序列号所占字节数小于所述总序列号所占字节数。
进一步地,所述根据预设的连续传输量向目标终端连续发送N个数据包之前,所述方法还包括:
指示用户设置所述连续传输量;
接收所述用户的设置操作,并根据所述设置操作生成所述数据传输量。
综上所述,通过实施本发明实施例,每一次向目标终端发送数据时,都同时发送多个数据包,之后根据目标终端反馈的接收结果判断发送的多个数据是否全部被正确接收了,若是,则增加下一次发送的数据包的数量,这样可以跟数据传输链路的畅通情况实时调发送的数据包的数量,提高了数据传输的效率。
当向目标终端发送的多个数据包未全部被正确接收时,则减少下一次发送的数据包的数量,进一步地调高了数据传输的效率;进一步地,下一次向目标终端发送数据包时,发送的数据包不一定要包括所有上一次未被正确接收的数据包,省略了对数据包进行分析归类的环节,进一步地提高了数据的传输效率;为每个数据包生成一个临时的传输序列号,该序列号用于标识当前需要进行传输的数据包,以使目标终端根据该传输序列号反馈接收结果,传输序列号相对于总序列号要小得多,所占字节较少,可以提高数据的处理效率;连续传输量还可以由用户根据当前设备的一些运行情况来设置,提升了用户体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量,N为大于1的自然数;
接收所述目标终端发送的对所述N个数据包的接收结果;
解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收;
若是,则将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个,其中,M为大于N的自然数。
2.根据权利要求1所述的方法,其特征在于,所述解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收之后,所述方法还包括:
若否,则将所述当前连续传输量下调为Z,以使下一次向所述目标终端连续发送的数据包的数量为Z个,其中,Z为小于N的自然数。
3.根据权利要求2所述的方法,其特征在于,所述若否,则将所述当前连续传输量下调为Z包括:
若否,则根据解析得到的数据分析出未被正确接收的数据包;
将所述当前连续传输量下调为Z;
根据所述当前连续传输量向所述目标终端连续发送Z个数据包,其中,所述Z个数据包中包括至少一个所述未被正确接收的数据包。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述N个数据包为所有数据包中的一部分数据包,所述N个数据包中的数据包包含其自身在所述所有数据包中的总序列号,用于所述目标终端正确接收到所述数据包后,根据所述总序列号排列所述数据包的位置;所述根据预设的连续传输量向目标终端连续发送N个数据包之前,所述方法还包括:
在所述数据包中设置传输序列号,以使所述目标终端生成包含所述传输序列号的接收结果,以指示所述接收结果对应所述数据包,其中,所述传输序列号所占字节数小于所述总序列号所占字节数。
5.根据权利要求4所述的方法,其特征在于,所述根据预设的连续传输量向目标终端连续发送N个数据包之前,所述方法还包括:
指示用户设置所述连续传输量;
接收所述用户的设置操作,并根据所述设置操作生成所述数据传输量。
6.一种数据传输装置,其特征在于,包括:
发送单元,用于根据预设的连续传输量向目标终端连续发送N个数据包,其中,所述N为当前连续传输量,N为大于1的自然数;
接收单元,用于接收所述目标终端发送的对所述N个数据包的接收结果;
解析单元,用于解析所述接收结果以判断所述N个数据包是否被所述目标终端全部正确接收;
调整单元,用于在所述解析单元的判断结果为是时,将所述当前连续传输量上调为M,以使下一次向所述目标终端连续发送的数据包的数量为M个,其中,M为大于N的自然数。
7.根据权利要求6所述的装置,其特征在于,所述调整单元还用于在所述解析单元的判断结果为否时,将所述当前连续传输量下调为Z,以使下一次向所述目标终端连续发送的数据包的数量为Z个,其中,Z为小于N的自然数。
8.根据权利要求7所述的装置,其特征在于,所述调整单元包括:
分析子单元,用于在所述解析单元的判断结果为否时,根据解析得到的数据分析出未被正确接收的数据包;
调整子单元,用于将所述当前连续传输量下调为Z;
发送子单元,用于根据所述当前连续传输量向所述目标终端连续发送Z个数据包,其中,所述Z个数据包中包括至少一个所述未被正确接收的数据包。
9.根据权利要求6~8任一项所述的装置,其特征在于,所述N个数据包为所有数据包中的一部分数据包,所述N个数据包中的数据包包含其自身在所述所有数据包中的总序列号,用于所述目标终端正确接收到所述数据包后,根据所述总序列号排列所述数据包的位置;所述装置还包括:
设置单元,用于在所述数据包中设置传输序列号,以使所述目标终端生成包含所述传输序列号的接收结果,以指示所述接收结果对应所述数据包,其中,所述传输序列号所占字节数小于所述总序列号所占字节数。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
指示单元,用于指示用户设置所述连续传输量;
生成单元,用于接收所述用户的设置操作,并根据所述设置操作生成所述数据传输量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510192371.9A CN104852785A (zh) | 2015-04-22 | 2015-04-22 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510192371.9A CN104852785A (zh) | 2015-04-22 | 2015-04-22 | 一种数据传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104852785A true CN104852785A (zh) | 2015-08-19 |
Family
ID=53852159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510192371.9A Pending CN104852785A (zh) | 2015-04-22 | 2015-04-22 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104852785A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516894A (zh) * | 2015-11-27 | 2016-04-20 | 深圳还是威健康科技有限公司 | 数据传输方法、终端及可穿戴式设备 |
WO2019114378A1 (zh) * | 2017-12-15 | 2019-06-20 | 华为技术有限公司 | 一种物联网数据传输方法、设备及系统 |
CN110086566A (zh) * | 2019-03-18 | 2019-08-02 | 深圳市元征科技股份有限公司 | 一种车载数据的传输方法及车载设备 |
CN111147196A (zh) * | 2019-12-18 | 2020-05-12 | 深圳市元征科技股份有限公司 | 数据传输方法、数据发送设备及数据接收设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150501A (zh) * | 2007-10-31 | 2008-03-26 | 广州市新邮通信设备有限公司 | 无线宽带接入网中网络速率自适应调整方法 |
US20100034187A1 (en) * | 2008-08-07 | 2010-02-11 | Qualcomm Incorporated | Efficient packet handling for timer-based discard in a wireless communication system |
CN101729320A (zh) * | 2009-12-14 | 2010-06-09 | 华为技术有限公司 | 传输控制方法和接入设备及传输系统 |
CN102664893A (zh) * | 2012-04-23 | 2012-09-12 | 重庆理工大学 | 自适应重传与分段嵌入签名的数据传输方法 |
CN103368865A (zh) * | 2012-04-09 | 2013-10-23 | 深圳大学 | 基于多网络访问接口的自适应通信方法及系统 |
CN103391603A (zh) * | 2013-07-04 | 2013-11-13 | 苏州博联科技有限公司 | 无线传感器网络中大数据信息低功耗传输的方法 |
-
2015
- 2015-04-22 CN CN201510192371.9A patent/CN104852785A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150501A (zh) * | 2007-10-31 | 2008-03-26 | 广州市新邮通信设备有限公司 | 无线宽带接入网中网络速率自适应调整方法 |
US20100034187A1 (en) * | 2008-08-07 | 2010-02-11 | Qualcomm Incorporated | Efficient packet handling for timer-based discard in a wireless communication system |
CN101729320A (zh) * | 2009-12-14 | 2010-06-09 | 华为技术有限公司 | 传输控制方法和接入设备及传输系统 |
CN103368865A (zh) * | 2012-04-09 | 2013-10-23 | 深圳大学 | 基于多网络访问接口的自适应通信方法及系统 |
CN102664893A (zh) * | 2012-04-23 | 2012-09-12 | 重庆理工大学 | 自适应重传与分段嵌入签名的数据传输方法 |
CN103391603A (zh) * | 2013-07-04 | 2013-11-13 | 苏州博联科技有限公司 | 无线传感器网络中大数据信息低功耗传输的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516894A (zh) * | 2015-11-27 | 2016-04-20 | 深圳还是威健康科技有限公司 | 数据传输方法、终端及可穿戴式设备 |
WO2019114378A1 (zh) * | 2017-12-15 | 2019-06-20 | 华为技术有限公司 | 一种物联网数据传输方法、设备及系统 |
US11146362B2 (en) | 2017-12-15 | 2021-10-12 | Huawei Technologies Co., Ltd. | Internet of things data transmission method, device and system |
CN110086566A (zh) * | 2019-03-18 | 2019-08-02 | 深圳市元征科技股份有限公司 | 一种车载数据的传输方法及车载设备 |
CN111147196A (zh) * | 2019-12-18 | 2020-05-12 | 深圳市元征科技股份有限公司 | 数据传输方法、数据发送设备及数据接收设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111836329B (zh) | 数据传输方法及相关装置 | |
CN105188151B (zh) | 一种非正交多址随机接入方法、装置及系统 | |
CN104852785A (zh) | 一种数据传输方法及装置 | |
CN112272243B (zh) | 地址分配方法 | |
CN103108043A (zh) | 一种应用数据库文件自适应采集ecu报文的方法 | |
CN103731499B (zh) | 终端和文件传输方法 | |
CN108965062A (zh) | 一种板载网卡的网口测试方法、装置、设备及存储介质 | |
CN104602114A (zh) | 传输及接收升级文件的方法、系统、智能电视和遥控器 | |
CN111200811A (zh) | 一种tws耳机及其升级方法、装置及可读存储介质 | |
CN107943697A (zh) | 问题分配方法、装置、系统、服务器和计算机存储介质 | |
CN110247736A (zh) | 一种数据传输方法及装置 | |
CN109347938B (zh) | 一种流量监控方法、电话手表、移动终端及服务器 | |
CN112100081B (zh) | 基于双芯智能电表的升级测试方法、装置和计算机设备 | |
CN112740627A (zh) | 车辆远程诊断方法及系统 | |
CN106872879A (zh) | 硬件无线调试方法、装置、通信芯片及电子设备 | |
CN105824653A (zh) | 一种汽车can总线数据刷写方法及装置 | |
CN104714787B (zh) | Mdf格式文件的生成方法及装置 | |
CN108170600A (zh) | 前端代码测试的覆盖率统计方法、装置及系统 | |
CN103995472A (zh) | 一种支持多种通信接口方式的现场维护设备检定装置 | |
CN106775818B (zh) | 基于can总线的ecu升级方法及ecu升级设备 | |
CN107844520A (zh) | 电子装置、车辆数据导入方法及存储介质 | |
CN115695077A (zh) | 一种总线数据接收方法、装置、电子设备及存储介质 | |
CN111740881B (zh) | 一种网卡链路检测方法、系统、设备及计算机存储介质 | |
CN110907986B (zh) | 一种采集地震数据的方法及装置 | |
CN108243323B (zh) | 一种软件升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150819 |
|
RJ01 | Rejection of invention patent application after publication |