CN108599904A - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN108599904A CN108599904A CN201810234061.2A CN201810234061A CN108599904A CN 108599904 A CN108599904 A CN 108599904A CN 201810234061 A CN201810234061 A CN 201810234061A CN 108599904 A CN108599904 A CN 108599904A
- Authority
- CN
- China
- Prior art keywords
- operational order
- duration
- confirmation message
- retransmission
- sent
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1854—Scheduling and prioritising arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种数据传输方法及装置,包括车联网单元向微控制单元MCU依次发送多个第一操作指令;接收MCU发送的确认消息;当接收到任何一个确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔;根据目标重发间隔确定未返回确认消息的第一操作指令的重发时间;根据获得的重发时间重新发送未返回确认消息的第一操作指令。从本发明实施例可见,由于当接收到了任何一个确认消息时,都会根据该确认消息的接收时长以及当前重发间隔确定目标重发间隔,进而确定未返回确认消息的第一操作指令的重发时间,因此实现了根据第一操作指令的反馈情况调整第一操作指令重发频率的目的,减轻了MCU的负荷,极大程度地防止了MCU发生拥塞。
Description
技术领域
本发明实施例涉及通信技术领域,尤指一种数据传输方法及装置。
背景技术
车联网单元是应用车联网技术以实现对车辆所有工作情况和静、动态信息的采集、存储并发送的设备,车联网单元包括微控制单元(Micro Controller Unit,MCU)和车联网单元(即车联网单元中除去MCU的部分),车联网单元需要和MCU配合使用,具体来说,MCU上报车辆数据至车联网单元,车辆网单元通过无线网络将车辆数据上传至服务器,再由服务器将消息推送到手机应用,另一方面,用户通过手机应用将远程控制指令发送给服务器,再由服务器发送远程控制指令给车联网产品,由车联网单元发送远程控制指令给MCU,再由MCU通过车辆的控制器局域网络(Controller Area Network,CAN)总线将指令发送给各个电子控制单元(Electronic Control Unit,ECU),从而完成远程控制。因此,由上述过程可以看出,MCU的稳定性对车联网技术的正常应用显得尤为重要。
相关技术中,车联网单元向MCU发送操作指令时,需要MCU回复针对操作指令的确认信息,当MCU处于繁忙状态或其他特殊情况而没有在预设时间间隔内回复确认消息时,车联网单元就会重新向MCU发送操作指令。
而由于预设时间间隔是固定不变的,因此当MCU处于繁忙状态时,以固定的预设时间间隔向MCU重复发送操作指令往往会进一步加剧MCU的负荷,从而造成MCU的拥塞。
发明内容
为了解决上述技术问题,本发明实施例提供了一种数据传输方法及装置,能够动态地调整重发间隔,从而减轻MCU的负荷,防止MCU发生拥塞。
为了达到本发明目的,本发明实施例提供了一种数据传输方法,包括:
车联网单元向MCU依次发送多个第一操作指令;
接收所述MCU发送的第一操作指令的确认消息;
当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔;
根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间;
根据获得的重发时间重新发送所述未返回确认消息的第一操作指令。
本发明实施例还提供了一种数据传输方法,包括:
MCU接收车联网单元发送的多个第一操作指令;
生成第一操作指令的确认消息;
当生成任何一个第一操作指令的确认信息时,向所述车联网单元发送所述确认消息;
接收所述车联网单元根据获得的重发时间重新发送未返回确认消息的第一操作指令;其中,所述重发时间为所述车联网单元根据所述确认消息的接收时长、当前重发间隔确定的。
本发明实施例还提供了一种车联网单元,包括:
第一发送模块,用于向MCU依次发送多个第一操作指令;
第一接收模块,用于接收第一操作指令的确认消息;
第一处理模块,用于当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔;
所述第一处理模块,还用于根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间;
所述第一发送模块,还用于根据获得的重发时间重新发送所述未返回确认消息的第一操作指令。
本发明实施例还提供了一种MCU,包括:
第二接收模块,用于接收车联网单元发送的多个第一操作指令;
第二处理模块,用于生成第一操作指令的确认消息;
第二发送模块,用于当生成任何一个第一操作指令的确认信息时,向所述车联网单元发送所述确认消息;
所述第二接收模块,还用于接收所述车联网单元根据获得的重发时间重新发送未返回确认消息的第一操作指令;其中,所述重发时间为所述车联网单元根据所述确认消息的接收时长、当前重发间隔确定的。
与现有技术相比,由于当接收到了任何一个第一操作指令的确认消息时,都会根据该确认消息的接收时长以及当前重发间隔重新确定目标重发间隔,进而根据所确定的目标重发间隔重新确定未返回确认消息的第一操作指令的重发时间,因此实现了根据根据第一操作指令的反馈情况调整第一操作指令重发频率的目的,从而减轻了MCU的负荷,极大程度地防止了MCU发生拥塞。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的一种数据传输方法的流程示意图;
图2为本发明实施例提供的另一种数据传输方法的流程示意图;
图3为本发明实施例提供的又一种数据传输方法的流程示意图;
图4为本发明实施例提供的又一种数据传输方法的流程示意图;
图5为本发明实施例提供的又一种数据传输方法的流程示意图;
图6为本发明实施例提供的又一种数据传输方法的流程示意图;
图7为本发明实施例提供的一种车联网单元的结构示意图;
图8为本发明实施例提供的一种MCU的结构示意图;
图9为本发明实施例提供的另一种车联网单元的结构示意图;
图10为本发明实施例提供的另一种MCU的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供一种数据传输方法,如图1所示,该方法包括:
步骤101、车联网单元向MCU依次发送多个第一操作指令。
需要说明的是,操作指令是需要接收设备回复确认信息的指令,第一操作指令是为了区分MCU向车联网单元发送的第二操作指令。
步骤102、接收MCU发送的第一操作指令的确认消息。
步骤103、当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔。
步骤104、根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间。
步骤105、根据获得的重发时间重新发送未返回确认消息的第一操作指令。
具体的,根据第一重发间隔向MCU重新发送第一个第一操作指令指的是:向MCU发送完所有第一操作指令后间隔第一重发间隔,再向MCU重新发送所有第一操作指令中第一个第一操作指令。
本发明实施例提供的数据传输方法,车联网单元向微控制单元MCU依次发送多个第一操作指令;接收MCU发送的第一操作指令的确认消息;当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔;根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间;根据获得的重发时间重新发送未返回确认消息的第一操作指令。从本发明实施例可见,由于当接收到了任何一个第一操作指令的确认消息时,都会根据该确认消息的接收时长以及当前重发间隔重新确定目标重发间隔,进而根据所确定的目标重发间隔重新确定未返回确认消息的第一操作指令的重发时间,因此实现了根据根据第一操作指令的反馈情况调整第一操作指令重发频率的目的,从而减轻了MCU的负荷,极大程度地防止了MCU发生拥塞。
可选地,车联网单元向MCU依次发送多个第一操作指令之后,还包括:
将发出的第一操作指令放入预先建立的重发队列。
根据确认消息的接收时长以及当前重发间隔确定目标重发间隔之后,还包括:
在重发队列中获取并删除确认消息对应的第一操作指令,以及未返回确认消息但重发次数超过预设重发次数的第一操作指令。
根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间,包括:
根据获得的目标重发间隔确定重发队列中第一操作指令的重发时间。
具体的,当任意一个第一操作指令的重发次数超过预设重发次数且仍然未接收到MCU发送的确认消息,不再发送该第一操作指令;其中,预设重发次数可以设置为2次或其他次数,本发明对此不作限定。
可选地,根据获得的目标重发间隔确定重发队列中第一操作指令的重发时间,包括:
获取重发队列中第一操作指令的最近一次发送时间;
将获得的重发队列中第一操作指令的最近一次发送时间加上目标重发间隔,得到重发队列中第一操作指令的重发时间。
可选地,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔,包括:
获取确认消息对应的第一操作指令的首次发送时间以及确认消息的接收时间。
根据获得的首次发送时间和接收时间获取确认消息的接收时长。
当接收时长不小于当前重发间隔与预设阈值的乘积,且小于当前重发间隔时,设置目标重发间隔大于当前重发间隔。
具体的,此时目标重发间隔可以是预设重发间隔的两倍,还可以是大于预设重发间隔的任意时间间隔,本发明对此不作限制。
可选地,当接收时长与预设重发间隔的比值不大于预设阈值时,还包括:
设置目标重发间隔为预设重发间隔。
具体的,预设重发间隔可以通过计算第一操作指令容许的最大字节数除以MCU双工模式下传输的波特率再乘以2得到,其中,第一操作指令容许的最大字节数是固定的。
可选地,当当前重发间隔不是预设重发间隔,且接收时长大于预设重发间隔与预设阈值的乘积,且接收时长小于当前重发间隔与预设阈值的乘积时,还包括:
设置目标重发间隔为当前重发间隔。
可选地,当确认消息为第一个确认消息时,当前重发间隔为预设重发间隔。
发明实施例提供的数据传输方法,能够根据MCU针对操作指令的确认信息的反馈实时地调整重发间隔,因此减轻了MCU的负荷,极大程度地防止了MCU发生拥塞。
本发明实施例还提供一个具体应用场景以说明本发明实施例提供的数据传输方法,如图2所示,该方法包括如下步骤:
步骤201、车联网单元开始根据业务的定义,先确定这个指令组(请求指令和响应指令)的标示值(通常为每个业务指令自己保存一个标示值,在发送的过程中,自动增加,从0–255循环赋值),然后发送指令给MCU,并将这个指令存入到重发队列中,重发次数为3次,超过3次,就认为指令发送失败。
步骤202、通过指令组的标示值在重发队列中查找对应的指令,以此来判断这个确认消息就是这个指令组中的发送指令的确认消息,如果这个确认消息的标示值在重发队列中找不到对应的指令则认为这个确认消息是无效的,直接抛弃掉。当确认这个确认消息是有效的,则开始计算指令发出到收到确认的时间是否在重发时间的间隔内,如果是在这个时间间隔内,则进入到步骤206,如果超过了这个时间间隔都没有收到确认消息,则进入步骤203。
步骤203、在重发队列中找到这个要重新发送的指令,以大于重发时间的间隔再次发送给MCU,发送完成后,进入步骤204。
步骤204、判断当前的重发队列中的这个指令重发次数是否已经为0,如果是的话,则不再重发指令,进入步骤205,否则,进入步骤202,继续判断是否在重发间隔的时间内收到MCU的确认消息。
步骤205、认为当前发送的指令,没有能够到达MCU,确认发送失败并在重发队列中删除这个指令。
步骤206、判断从发送指令到收到的MCU的确认的时间是否符合调整重发间隔的条件,这个条件包含了两个情况,第一,这个时间如果大于重发间隔时间的90%但是仍然在重发间隔时间内,应该调整重发间隔,将重发间隔数值乘以2,此时说明MCU当前的负荷有加重的趋势,应该降低发送指令的速度,以防止出现MCU负荷已经很重的情况,继续增加发送指令给MCU,造成恶性循环;第二,如果小于默认重发间隔的90%,进入到步骤508。如果时间小于修改后的重发间隔的90%但是大于默认重发间隔的90%,则进入到步骤207,保持重发间隔不变。
步骤207、当车联网单元收到MCU的确认消息时,首先在重发队列中删除这个被MCU确认已经收到的指令,保持重发间隔不变。然后回到步骤502,继续判断是否可以在重发间隔内到MCU发送的下一个确认消息。
步骤208、调整重发队列中的指令重发间隔,如果是增加间隔,则直接将重发间隔时间乘以2,如果要求恢复默认值,则直接修改重发间隔为默认值。
本发明实施例提供又一种数据传输方法,如图3所示,该方法包括:
步骤301、MCU接收车联网单元发送的多个第一操作指令。
步骤302、生成第一操作指令的确认消息。
步骤303、当生成任何一个第一操作指令的确认信息时,向车联网单元发送确认消息。
步骤304、接收车联网单元根据获得的重发时间重新发送未返回确认消息的第一操作指令。
其中,重发时间为车联网单元根据确认消息的接收时长、当前重发间隔确定的。
本发明实施例提供的数据传输方法,MCU接收车联网单元发送的多个第一操作指令;生成第一操作指令的确认消息;当生成任何一个第一操作指令的确认信息时,向车联网单元发送确认消息;接收车联网单元根据获得的重发时间重新发送未返回确认消息的第一操作指令;其中,重发时间为车联网单元根据确认消息的接收时长、当前重发间隔确定的。从本发明实施例可见,由于重发时间是车联网单元根据确认消息的接收时长、当前重发间隔确定的,因此实现了根据根据第一操作指令的反馈情况调整第一操作指令重发频率的目的,从而减轻了MCU的负荷,极大程度地防止了MCU发生拥塞
可选地,MCU接收车联网单元发送的第一操作指令之前或之后,还包括:
步骤305、当到达预设上报周期时,向车联网单元发送待上报数据。
具体的,预设上报周期可以是预先设定的,每到预设上报周期,MCU都会向车辆网单元发送待上报数据,其中,待上报数据是所采集的车身数据,例如油耗数据。
步骤306、在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车辆网单元发送第二操作指令。
具体的,第二操作指令是为了区分车联网单元向MCU发送的第一操作指令。第二操作指令可以是触发事件,例如开车门、关车门。
本发明实施例提供的数据传输方法,当到达预设上报周期时,MCU向车联网单元发送待上报数据;在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车辆网单元发送第二操作指令。从本发明实施例可见,由于第二操作指令只在两个预设上报周期之间待上报数据发送完后的间隔里发送,因此保证了待上报数据能够及时上报至车联网单元中;并且使得待上报数据和第二操作指令能够轮流进行发送,从而减轻了MCU的负荷,极大程度地防止了MCU发生拥塞。
可选地,在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车辆网单元发送第二操作指令,包括:
步骤306a、获取待上报数据发送完毕后至下一个预设上报周期到达前的时长,将获得的时长作为第一时长。
步骤306b、获取发送完所有第二操作指令所需的时长,将获得的时长作为第二时长。
具体的,判断第四时长是否小于第五时长就是判断待上报数据发送完毕后至下一个预设上报周期到达前的时长是否能够发送完所有第二操作指令。
步骤306c、当第一时长不小于第二时长时,向车联网单元发送所有第二操作指令。
具体的,当第一时长不小于第二时长时,说明待上报数据发送完毕后至下一个预设上报周期到达前的时长内能够发送完所有第二操作指令。
可选地,当第一时长小于第二时长时,还包括:
步骤306d、获取所有第二操作指令的所属类型。
具体的,当MCU采集到连续的多个触发事件的时候,其中很多事件可能是同一类型的事件,如车门状态的变化等,因此可以通过获取第二操作指令的所属类型来合并某些第二操作指令。
步骤306e、当存在所属类型相同的第二操作指令时,获取所属类型相同的第二操作指令,并将获得的第二操作指令作为待处理操作指令。
具体的,待处理操作指令的数量可能是两个,也可能是多个,具体要看有多少个所属类型相同的第二操作指令决定,并且,待处理操作指令还可能包含多组所属类型相同的第二操作指令。具体来说,假设所有第二操作指令包括第二操作指令A、第二操作指令B、第二操作指令C、第二操作指令D、第二操作指令E、第二操作指令F、第二操作指令G、第二操作指令H,其中,第二操作指令A与第二操作指令C所属类型相同,第二操作指令D、第二操作指令F和第二操作指令H所属类型相同,那么待处理操作指令就是第二操作指令A、第二操作指令C、第二操作指令D、第二操作指令F和第二操作指令H。
步骤306f、在待处理操作指令中获取生成时间最晚的操作指令,并与除待处理操作指令外的第二操作指令合并得到目标操作指令。
具体的,仍然以上述所假设的例子进行说明,假设第二操作指令A和第二操作指令C中第二操作指令A的生成时间较晚,第二操作指令D、第二操作指令F和第二操作指令H中第二操作指令D的生成时间最晚,那么第二操作指令A、第二操作指令B、第二操作指令D、第二操作指令E和第二操作指令G就是目标操作指令。
步骤306g、获取发送完目标操作指令所需的时长,将获得的时长作为第三时长。
步骤306h、当第一时长不小于第三时长时,向车联网单元发送所有目标操作指令。
具体的,当第一时长不小于第三时长时,说明待上报数据发送完毕后至下一个预设上报周期到达前的时长能够发送完所有目标操作指令。
可选地,当第一时长小于第三时长时,还包括:
步骤306i、在预先建立的类型与优先级的对应关系中获取目标操作指令所属类型的优先级。
步骤306j、按照优先级的高低将目标操作指令进行排列。
步骤306k、获取在第一时长内能够发送的操作指令的个数,将获得的个数作为第一目标个数。
步骤306l、在排列后的目标操作指令中按照优先级从高往低的顺序获取与第一目标个数相同的目标操作指令,并向车辆网单元发送。
步骤306m、将剩余的目标操作指令留待至第四时长进行发送。
其中,第四时长为下一个预设上报周期待上报数据发送完毕后至下下一个预设上报周期到达前的时长。
可选地,在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车联网单元发送第二操作指令,包括:
步骤306n、在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车联网单元发送缓存队列中的第二操作指令。
可选地,在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车联网单元发送第二操作指令之后,还包括:
步骤307、当在预设时长内未接收到车联网单元发送的针对第二操作指令的确认信息时,将第二操作指令放在缓存队列的队尾。
具体的,预设时长为第二操作指令容许的最大字节数除以MCU双工模式下传输的波特率再乘以2。
本发明实施例提供的数据传输方法,当到达预设上报周期时,MCU向车联网单元发送待上报数据;在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车联网单元发送第二操作指令。从本发明实施例可见,由于第二操作指令只在两个预设上报周期之间待上报数据发送完后的间隔里发送,因此保证了待上报数据能够及时上报至车联网单元中;并且合并了第二操作指令中的一些指令,使得待上报数据和第二操作指令能够轮流进行发送,从而减轻了MCU的负荷,极大程度地防止了MCU发生拥塞。
本发明还提供一个具体应用场景(只发送第二操作指令)以说明本发明实施例提供的数据传输方法,如图4所示,该方法包括如下步骤:
步骤401、MCU开始根据业务的定义,先确定这个指令组(请求指令和响应指令)的标示值(通常为每个业务指令自己保存一个标示值,在发送的过程中,自动增加,从0–255循环赋值),然后发送指令给车联网单元,并将这个指令存入到重发队列中,重发次数为3次,超过3次,就认为指令发送失败。
步骤402、通过指令组的标示值在重发队列中查找对应的指令,以此来判断这个确认消息就是这个指令组中的发送指令的确认消息,如果这个确认消息的标示值在重发队列中找不到对应的指令则认为这个确认消息是无效的,直接抛弃掉。当确认这个确认消息是有效的,进入到步骤405,否则,进入步骤403。
步骤403、在重发队列中找到这个要重新发送的指令,再次发送给车联网单元,同时,将这个指令在重发队列中的重发时间后延一个重发间隔。发送完成后,进入判断404。
步骤404、判断当前重发的指令重发次数是否为0,如果不为0,则回到判断402,继续判断是否可以收到确认消息,否则,进入步骤406。
步骤405、删除重发队列中的这个指令,因为这个指令已经确认被收到。
步骤406、因为重发了3次,都没有收到指令被收到的确认,判定这个指令发送失败,然后删除重发队列中的指令。
本发明还提供一个具体应用场景(只发送待上报数据)以说明本发明实施例提供的数据传输方法,如图5所示,该方法包括如下步骤:
步骤501、MCU将车辆状态等数据打包成第二操作指令,并估算出发送这些数据大概所需的时间T1,并准备通过串口发送这些指令。
步骤502、MCU判断发送队列是否有数据等待发送,如果是的话,则会执行步骤503;如果否的话,则执行步骤504。
步骤503、MCU通过串口发送第二操作指令,然后在经过大约T1秒后,开启发送队列数据的发送。
步骤504、MCU暂停发送存于发送队列中的第二操作指令,为发送待上报数据做准备,此时,新的第二操作指令产生后仍然会存入发送队列,等待发送。
步骤505、MCU进入到下一个发送第二操作指令的周期中,当满足上报条件时,继续步骤501。
本发明还提供一个具体应用场景(既发送待上报数据,又发送第二操作指令)以说明本发明实施例提供的数据传输方法,如图6所示,该方法包括如下步骤:
步骤601、MCU开机后,计算出周期性上报的第二操作指令的数据量,以及发送这些数据需要的时间T1,根据串口的带宽的一半(因为双工模式)来计算,由此可以估计出一个合理的时间值。然后开始发送待上报数据的时候,记录下当前的时间T2,计算出下一组第二操作指令上报的时间T3,用T3减去T1、T2的差,就是串口相对空闲的时间,用这个空闲时间来发送检测到的需要上报的第二操作指令。
步骤602、检测到有需要发送的第二操作指令,将这些指令先存入到一个发送队列。
步骤603、检测当前是否是第二操作指令上报的时间,如果是的话,等待这些数据完成发送,然后再读取发送队列里的指令组到发送缓冲中,并计算发送这些数据所需的时间。
步骤604、如果发送完发送缓冲的数据所需的时间小于当前时间到下一个固定周期上报的时间,则全部依次发送出去,执行步骤605;如果这个时间大于当前时间到下一个固定周期上报的时间,则执行步骤606。
步骤605、依次将发送缓冲中的数据指令发送给车联网单元。
判断606、先将优先级高的指令放到发送缓冲中,然后判断当前的发送缓冲中的指令,是否有类型相同的事件,如果有,则执行步骤608;如果没有的话,则执行步骤607。
步骤607、按照当前时间到下一个固定周期上报的时间内能发送的最大数据数量,将发送缓冲中的数据发送给车联网单元。发送缓冲中未能发送完的指令,在执行603时,和刚刚从发送队列中的读取的指令一起构成发送缓冲的数据。
步骤608、相同类型的事件,如多次右前车门状态的变化、多次右后车门状态的变化、多次引擎盖状态的变化等归为一类的多个连续事件,因为服务器的数据上报策略中,这些事件是对应一个消息,所以把这些状态的以最后一次的状态为准,合并成一个最终的状态的指令,减少了发送缓冲中的数据量。执行步骤601。
本发明实施例提供一种车联网单元,如图7所示,该车联网单元7包括:
第一发送模块701,用于向MCU依次发送多个第一操作指令。
第一接收模块702,用于接收MCU发送的第一操作指令的确认消息。
第一处理模块703,用于当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔。
第一处理模块703,还用于根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间。
第一发送模块701,还用于根据获得的重发时间重新发送未返回确认消息的第一操作指令。
可选地,第一处理模块703,还用于:
将发出的第一操作指令放入预先建立的重发队列。
在重发队列中获取并删除确认消息对应的第一操作指令,以及未返回确认消息但重发次数超过预设重发次数的第一操作指令。
第一处理模块703,具体用于根据获得的目标重发间隔确定重发队列中第一操作指令的重发时间。
可选地,第一处理模块703具体还用于:
获取重发队列中第一操作指令的最近一次发送时间。
将获得的重发队列中第一操作指令的最近一次发送时间加上目标重发间隔,得到重发队列中第一操作指令的重发时间。
可选地,第一处理模块703具体还用于:
获取确认消息对应的第一操作指令的首次发送时间以及确认消息的接收时间。
根据获得的首次发送时间和接收时间获取确认消息的接收时长。
当接收时长不小于当前重发间隔与预设阈值的乘积,且小于当前重发间隔时,设置目标重发间隔大于当前重发间隔。
可选地,当接收时长与预设重发间隔的比值不大于预设阈值时,第一处理模块703,具体还用于设置目标重发间隔为预设重发间隔。
可选地,当当前重发间隔不是预设重发间隔,且接收时长大于预设重发间隔与预设阈值的乘积,且接收时长小于当前重发间隔与预设阈值的乘积时,第一处理模块703,具体还用于设置目标重发间隔为当前重发间隔。
可选地,当确认消息为第一个确认消息时,当前重发间隔为预设重发间隔。
本发明实施例提供的车联网单元,向微控制单元MCU依次发送多个第一操作指令;接收MCU发送的第一操作指令的确认消息;当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔;根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间;根据获得的重发时间重新发送未返回确认消息的第一操作指令。从本发明实施例可见,由于当接收到了任何一个第一操作指令的确认消息时,都会根据该确认消息的接收时长以及当前重发间隔重新确定目标重发间隔,进而根据所确定的目标重发间隔重新确定未返回确认消息的第一操作指令的重发时间,因此实现了根据根据第一操作指令的反馈情况调整第一操作指令重发频率的目的,从而减轻了MCU的负荷,极大程度地防止了MCU发生拥塞。
在实际应用中,第一发送模块701、第一接收模块702和第一处理模块703均可由位于车联网单元中的中央处理器(Central Processing Unit,CPU)、微处理器(MicroProcessor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
本发明实施例提供一种MCU,如图8所示,该MCU 8包括:
第二接收模块801,用于接收车联网单元发送的多个第一操作指令。
第二处理模块802,用于生成第一操作指令的确认信息。
第二发送模块803,用于当生成任何一个第一操作指令的确认信息时,向车联网单元发送生成的确认消息。
第二接收模块801,还用于接收车联网单元根据获得的重发时间重新发送未返回确认消息的第一操作指令;其中,重发时间为车联网单元根据确认消息的接收时长、当前重发间隔确定的。
可选地,第二发送模块803还用于:
当到达预设上报周期时,向车联网单元发送待上报数据。
在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车联网单元发送第二操作指令。
可选地,第二发送模块803具体用于:
获取待上报数据发送完毕后至下一个预设上报周期到达前的时长,将获得的时长作为第一时长。
获取发送完所有第二操作指令所需的时长,将获得的时长作为第二时长。
当第一时长不小于第二时长时,向车联网单元发送所有第二操作指令。
可选地,当第一时长小于第二时长时,第二发送模块803还具体用于:
获取所有第二操作指令的所属类型。
当存在所属类型相同的第二操作指令时,获取所属类型相同的第二操作指令,并将获得的第二操作指令作为待处理操作指令。
在待处理操作指令中获取生成时间最晚的操作指令,并与除待处理操作指令外的第二操作指令合并得到目标操作指令。
获取发送完目标操作指令所需的时长,将获得的时长作为第三时长。
当第一时长不小于第三时长时,向车联网单元发送所有目标操作指令。
可选地,当第一时长小于第三时长时,第二发送模块803还具体用于:
在预先建立的类型与优先级的对应关系中获取目标操作指令所属类型的优先级。
按照优先级的高低将目标操作指令进行排列。
获取在第一时长内能够发送的操作指令的个数,将获得的个数作为第一目标个数。
在排列后的目标操作指令中按照优先级从高往低的顺序获取与第一目标个数相同的目标操作指令,并向车联网单元发送。
将剩余的目标操作指令留待至第四时长进行发送。其中,第四时长为下一个预设上报周期待上报数据发送完毕后至下下一个预设上报周期到达前的时长。
可选地,当不存在所属类型相同的第二操作指令时,第二发送模块803还具体用于:
在预先建立的类型与优先级的对应关系中获取对应第二操作指令所属类型的优先级。
按照优先级的高低将第二操作指令进行排列。
获取在第一时长内能够发送的操作指令的个数,将获得的个数作为第二目标个数。
在排列后的第二操作指令中按照优先级从高往低的顺序获取与第二目标个数相同的第二操作指令,并向车联网单元发送。
将剩余的第二操作指令留待第四时长进行发送。其中,第四时长为下一个预设上报周期待上报数据发送完毕后至下下一个预设上报周期到达前的时长。
可选地,第二发送模块803还具体用于:
在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车联网单元发送缓存队列中的第二操作指令。
第二处理模块802,当在预设时长内未接收到车联网单元发送的针对第二操作指令的确认信息时,将第二操作指令放在缓存队列的队尾。
本发明实施例提供的MCU,当到达预设上报周期时向车联网单元发送待上报数据;在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车联网单元发送第二操作指令。从本发明实施例可见,由于第二操作指令只在两个预设上报周期之间待上报数据发送完后的间隔里发送,因此保证了待上报数据能够及时上报至车联网单元中;并且使得待上报数据和第二操作指令能够轮流进行发送,从而减轻了MCU的负荷,极大程度地防止了MCU发生拥塞。
在实际应用中,第一接收模块801、第二处理模块802和第二发送模块803均可由位于MCU中的CPU、MPU、DSP或FPGA等实现。
本发明实施例提供又一种车联网单元,如图9所示,该车联网单元9包括:第三发送模块901,重发队列模块902,第三接收模块903和动态调整模块904。
第三发送模块901,用于发送待上报数据给MCU,并将这些指令存入到重发队列。
重发队列模块902,用于保存尚未收到MCU的确认的指令,等待重发时间达到后,发送指令给发送模块。
第三接收模块903,用于接收MCU的响应,包含了指令收到的确认消息、指令处理的结果以及MCU主动发起的请求。
动态调整模块904,用于记录指令发送出去后收到MCU的确认指令的时长,用来判断当前的MCU是否过于繁忙,以此来通知重发队列修改重发的时间间隔。
动态调整模块904工作流程如下,首先将重发时间间隔默认采用待上报数据的最大字节数除以串口双工模式下传输的波特率再乘以2,根据MCU发送的确认指令响应时间来调整车联网单元向MCU重发指令的时间间隔,当MCU发送的确认指令响应时间大于默认重发间隔时间的90%但是仍然在默认重发间隔时间内,说明MCU正在忙于处理其他的指令,则将重发队列中的默认重发间隔时间乘以2,作为新的重发间隔,以此,降低发送给MCU的指令数量,减轻MCU的负担,如果重发间隔时间乘以2后,仍然出现MCU发送的确认指令响应时间大于修改后的重发间隔时间的90%但是仍然在修改的重发间隔时间内,此时再次用重发间隔时间乘以2,如果在小于修改后的重发间隔的90%但是大于默认重发间隔的90%,则保持现在的重发间隔不变,依次类推,满足修改重发间隔的条件后,需要修改重发间隔,根据重传的次数,可以得出最大的重发时间间隔。当MCU发送的确认指令响应时间小于默认的重发间隔的90%时,说明需要检查重发间隔是否是默认值,如果是的话,不作调整,否则,恢复为默认值。
本发明实施例提供又一种MCU,如图10所示,该MCU 10包括:第四发送模块1001,重发队列模块1002,第四接收模块1003,传输优化调整模块1004。
第四发送模块1001,用于发送第二操作指令和待上报数据给车联网单元,并将第二操作指令存入到重发队列,待上报数据不需要存入到重发队列。
重发队列模块1002,用于保存尚未收到车联网单元的确认的第二操作指令,等待重发时间达到后,发送指令给第四发送模块1001。
第四接收模块1003,用于接收车联网单元的响应,包含了指令收到的确认消息、指令处理的结果以及车联网单元发起的请求指令。
传输优化调整模块1004,用于优化MCU上报数据到车联网单元的流程,待上报数据都严格按照固定的间隔上报,当有第二操作指令要发送的时候,先计算重发队列里的指令和发送模块里的指令所需要的数据量,然后判断当前时间到下一个周期性上报的时间内是否可以完成当前队列数据的发送,如果可以,则直接按次序进行发送,如果时间不够完成发送,则将同一类型的第二操作指令先行合并,然后再由第四发送模块1001进行发送。
传输优化调整模块1004工作流程如下,首先以固定的间隔发送待上报数据,第二操作指令都先存入到队列中,可能涉及到多种业务,如车门状态、偷盗告警等事件,在发送前,先计算一下发送所有第二操作指令指令的时间,然后判断当前时间到下一个周期性上报的时间内是否可以完成发送,如果可以,则发送给第四发送模块1001将指令发送给车联网单元,如果这个时间内无法完成发送,则先进行优先级排列,就按照当前时间到下一个周期性上报的时间内可以完成传输的数据量从优先级从高往低进行发送,剩下的第二操作指令再放回到待发送的业务指令队列中。
本发明实施例还提供一种用于实现数据传输的装置,包括第一存储器和第一处理器,其中,第一存储器中存储有以下可被第一处理器执行的指令:
向MCU依次发送多个第一操作指令。
接收MCU发送的第一操作指令的确认消息。
当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔。
根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间。
根据获得的重发时间重新发送未返回确认消息的第一操作指令。
可选地,第一存储器中还存储有以下可被第一处理器执行的指令:
将发出的第一操作指令放入预先建立的重发队列。
在重发队列中获取并删除确认消息对应的第一操作指令,以及未返回确认消息但重发次数超过预设重发次数的第一操作指令。
根据获得的目标重发间隔确定重发队列中第一操作指令的重发时间。
可选地,第一存储器中具体存储有以下可被第一处理器执行的指令:
获取重发队列中第一操作指令的最近一次发送时间。
将获得的重发队列中第一操作指令的最近一次发送时间加上目标重发间隔,得到重发队列中第一操作指令的重发时间。
可选地,第一存储器中还具体存储有以下可被第一处理器执行的指令:
获取确认消息对应的第一操作指令的首次发送时间以及确认消息的接收时间。
根据获得的首次发送时间和接收时间获取确认消息的接收时长。
当接收时长不小于当前重发间隔与预设阈值的乘积,且小于当前重发间隔时,设置目标重发间隔大于当前重发间隔。
可选地,当接收时长与预设重发间隔的比值不大于预设阈值时,第一存储器中还具体存储有以下可被第一处理器执行的指令:
设置目标重发间隔为预设重发间隔。
可选地,当前重发间隔不是预设重发间隔,且接收时长大于预设重发间隔与预设阈值的乘积,且接收时长小于当前重发间隔与预设阈值的乘积时,第一存储器中还具体存储有以下可被第一处理器执行的指令:
设置目标重发间隔为当前重发间隔。
可选地,当确认消息为第一个确认消息时,当前重发间隔为预设重发间隔。
本发明实施例还提供一种用于实现数据传输的装置,包括第二存储器和第二处理器,其中,第二存储器中存储有以下可被第二处理器执行的指令:
接收车联网单元发送的多个第一操作指令。
生成第一操作指令的确认信息。
当生成任何一个第一操作指令的确认信息时,向车联网单元发送确认消息。
接收车联网单元根据获得的重发时间重新发送未返回确认消息的第一操作指令;其中,重发时间为车联网单元根据确认消息的接收时长、当前重发间隔确定的。
可选地,第二存储器中还存储有以下可被第二处理器执行的指令:
当到达预设上报周期时,MCU向车联网单元发送待上报数据。
在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车辆网单元发送第二操作指令。
可选地,第二存储器中还具体存储有以下可被第二处理器执行的指令:
获取待上报数据发送完毕后至下一个预设上报周期到达前的时长,将获得的时长作为第一时长。
获取发送完所有第二操作指令所需的时长,将获得的时长作为第二时长。
但第一时长不小于第二时长时,向车联网单元发送所有第二操作指令。
可选地,当第一时长小于第二时长时,第二存储器中还存储有以下可被第二处理器执行的指令:
获取所有第二操作指令的所属类型。
当存在所属类型相同的第二操作指令时,获取所属类型相同的第二操作指令,并将获得的第二操作指令作为待处理操作指令。
在待处理操作指令中获取生成时间最晚的操作指令,并与除待处理操作指令外的第二操作指令合并得到目标操作指令。
获取发送完目标操作指令所需的时长,将获得的时长作为第三时长。
当第一时长不小于第三时长时,向车联网单元发送所有目标操作指令。
可选地,当第一时长小于第三时长时,第二存储器中还存储有以下可被第二处理器执行的指令:
在预先建立的类型与优先级的对应关系中获取目标操作指令所属类型的优先级。
按照优先级的高低将目标操作指令进行排列。
获取在第一时长内能够发送的操作指令的个数,将获得的个数作为第一目标个数。
在排列后的目标操作指令中按照优先级从高往低的顺序获取与第一目标个数相同的目标操作指令,并向车联网单元发送。
将剩余的目标操作指令留待至第四时长进行发送。其中,第四时长为下一个预设上报周期待上报数据发送完毕后至下下一个预设上报周期到达前的时长。
可选地,当不存在所属类型相同的第二操作指令时,第二存储器中还存储有以下可被第二处理器执行的指令:
在预先建立的类型与优先级的对应关系中获取对应第二操作指令所属类型的优先级。
按照优先级的高低将第二操作指令进行排列。
获取在第一时长内能够发送的操作指令的个数,将获得的个数作为第二目标个数。
在排列后的第二操作指令中按照优先级从高往低的顺序获取与第二目标个数相同的第二操作指令,并向车联网单元发送。
将剩余的第二操作指令留待第四时长进行发送。其中,第四时长为下一个预设上报周期待上报数据发送完毕后至下下一个预设上报周期到达前的时长。
可选地,第二存储器中还具体存储有以下可被第二处理器执行的指令:
在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车联网单元发送缓存队列中的第二操作指令。
当在预设时长内未接收到车联网单元发送的针对第二操作指令的确认信息时,将第二操作指令放在缓存队列的队尾。
虽然本发明所揭露的实施方式如上,但的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (16)
1.一种数据传输方法,包括:
车联网单元向微控制单元MCU依次发送多个第一操作指令;
接收所述MCU发送的第一操作指令的确认消息;
当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔;
根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间;
根据获得的重发时间重新发送所述未返回确认消息的第一操作指令。
2.根据权利要求1所述的数据传输方法,其特征在于,所述车联网单元向MCU依次发送多个第一操作指令之后,还包括:
将发出的第一操作指令放入预先建立的重发队列;
所述根据确认消息的接收时长以及当前重发间隔确定目标重发间隔之后,还包括:
在所述重发队列中获取并删除所述确认消息对应的第一操作指令,以及未返回确认消息但重发次数超过所述预设重发次数的第一操作指令;
所述根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间,包括:
根据获得的目标重发间隔确定所述重发队列中第一操作指令的重发时间。
3.根据权利要求2所述的数据传输方法,其特征在于,所述根据获得的目标重发间隔确定重发队列中第一操作指令的重发时间,包括:
获取所述重发队列中第一操作指令的最近一次发送时间;
将获得的所述重发队列中第一操作指令的最近一次发送时间加上所述目标重发间隔,得到所述重发队列中第一操作指令的重发时间。
4.根据权利要求1所述的数据传输方法,其特征在于,所述根据确认消息的接收时长以及当前重发间隔确定目标重发间隔,包括:
获取所述确认消息对应的第一操作指令的首次发送时间以及所述确认消息的接收时间;
根据获得的首次发送时间和接收时间获取所述确认消息的接收时长;
当所述接收时长不小于所述当前重发间隔与预设阈值的乘积,且小于所述当前重发间隔时,设置所述目标重发间隔大于所述当前重发间隔。
5.根据权利要求4所述的数据传输方法,其特征在于,当所述接收时长与预设重发间隔的比值不大于所述预设阈值时,还包括:
设置所述目标重发间隔为所述预设重发间隔。
6.根据权利要求4或5所述的数据传输方法,其特征在于,当所述当前重发间隔不是所述预设重发间隔,且所述接收时长大于预设重发间隔与所述预设阈值的乘积,且所述接收时长小于所述当前重发间隔与所述预设阈值的乘积时,还包括:
设置所述目标重发间隔为所述当前重发间隔。
7.根据权利要求4或5所述的数据传输方法,其特征在于,当所述确认消息为第一个确认消息时,所述当前重发间隔为预设重发间隔。
8.一种数据传输方法,包括:
微控制单元MCU接收车联网单元发送的多个第一操作指令;
生成第一操作指令的确认消息;
当生成任何一个第一操作指令的确认信息时,向所述车联网单元发送生成的确认消息;
接收所述车联网单元根据获得的重发时间重新发送未返回确认消息的第一操作指令;其中,所述重发时间为所述车联网单元根据所述确认消息的接收时长、当前重发间隔确定的。
9.根据权利要求8所述的数据传输方法,其特征在于,所述MCU接收车联网单元发送的多个第一操作指令之前或之后,还包括:
当到达预设上报周期时,所述MCU向所述车联网单元发送待上报数据;
在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向所述车辆网单元发送第二操作指令。
10.根据权利要求9所述的数据传输方法,其特征在于,所述在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车辆网单元发送第二操作指令,包括:
获取所述待上报数据发送完毕后至下一个预设上报周期到达前的时长,将获得的时长作为第一时长;
获取发送完所有所述第二操作指令所需的时长,将获得的时长作为第二时长;
当所述第一时长不小于所述第二时长时,向所述车联网单元发送所有所述第二操作指令。
11.根据权利要求10所述的数据传输方法,其特征在于,当所述第一时长小于所述第二时长时,还包括:
获取所有所述第二操作指令的所属类型;
当存在所属类型相同的第二操作指令时,获取所属类型相同的第二操作指令,并将获得的第二操作指令作为待处理操作指令;
在所述待处理操作指令中获取生成时间最晚的操作指令,并与除所述待处理操作指令外的第二操作指令合并得到目标操作指令;
获取发送完所述目标操作指令所需的时长,将获得的时长作为第三时长;
当所述第一时长不小于所述第三时长时,向所述车联网单元发送所有所述目标操作指令。
12.根据权利要求11所述的数据传输方法,其特征在于,当所述第一时长小于所述第三时长时,还包括:
在预先建立的类型与优先级的对应关系中获取所述目标操作指令所属类型的优先级;
按照优先级的高低将所述目标操作指令进行排列;
获取在所述第一时长内能够发送的操作指令的个数,将获得的个数作为第一目标个数;
在排列后的所述目标操作指令中按照优先级从高往低的顺序获取与所述第一目标个数相同的目标操作指令,并向所述车辆网单元发送;
将剩余的目标操作指令留待至第四时长进行发送;其中,所述第四时长为下一个预设上报周期待上报数据发送完毕后至下下一个预设上报周期到达前的时长。
13.根据权利要求11所述的数据传输方法,其特征在于,当不存在所属类型相同的第二操作指令时,还包括:
在预先建立的类型与优先级的对应关系中获取对应所述第二操作指令所属类型的优先级;
按照优先级的高低将所述第二操作指令进行排列;
获取在所述第一时长内能够发送的操作指令的个数,将获得的个数作为第二目标个数;
在排列后的所述第二操作指令中按照优先级从高往低的顺序获取与所述第二目标个数相同的第二操作指令,并向所述车辆网单元发送;
将剩余的第二操作指令留待第四时长进行发送;其中,所述第四时长为下一个预设上报周期待上报数据发送完毕后至下下一个预设上报周期到达前的时长。
14.根据权利要求9所述的数据传输方法,所述在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车辆网单元发送第二操作指令,包括:
在所述待上报数据发送完毕后至下一个预设上报周期到达前的时长内向所述车联网单元发送缓存队列中的第二操作指令;
所述在待上报数据发送完毕后至下一个预设上报周期到达前的时长内向车辆网单元发送第二操作指令之后,还包括:
当在所述预设时长内未接收到所述车联网单元发送的针对所述第二操作指令的确认信息时,将所述第二操作指令放在所述缓存队列的队尾。
15.一种车联网单元,其特征在于,包括:
第一发送模块,用于向MCU依次发送多个第一操作指令;
第一接收模块,用于接收第一操作指令的确认消息;
第一处理模块,用于当接收到任何一个第一操作指令的确认消息时,根据确认消息的接收时长以及当前重发间隔确定目标重发间隔;
所述第一处理模块,还用于根据获得的目标重发间隔确定未返回确认消息的第一操作指令的重发时间;
所述第一发送模块,还用于根据获得的重发时间重新发送所述未返回确认消息的第一操作指令。
16.一种微控制单元,其特征在于,包括:
第二接收模块,用于接收车联网单元发送的多个第一操作指令;
第二处理模块,用于生成第一操作指令的确认消息;
第二发送模块,用于当生成任何一个第一操作指令的确认信息时,向所述车联网单元发送所述确认消息;
所述第二接收模块,还用于接收所述车联网单元根据获得的重发时间重新发送未返回确认消息的第一操作指令;其中,所述重发时间为所述车联网单元根据所述确认消息的接收时长、当前重发间隔确定的。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810234061.2A CN108599904B (zh) | 2018-03-21 | 2018-03-21 | 一种数据传输方法及装置 |
PCT/CN2019/078268 WO2019179359A1 (zh) | 2018-03-21 | 2019-03-15 | 数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810234061.2A CN108599904B (zh) | 2018-03-21 | 2018-03-21 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108599904A true CN108599904A (zh) | 2018-09-28 |
CN108599904B CN108599904B (zh) | 2021-09-28 |
Family
ID=63627056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810234061.2A Active CN108599904B (zh) | 2018-03-21 | 2018-03-21 | 一种数据传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108599904B (zh) |
WO (1) | WO2019179359A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109921967A (zh) * | 2019-03-08 | 2019-06-21 | 美的智慧家居科技有限公司 | 指令处理方法及***、网关设备和计算机可读存储介质 |
CN110113495A (zh) * | 2019-05-10 | 2019-08-09 | 北京奇艺世纪科技有限公司 | App的远程控制方法、装置、电子设备及*** |
WO2019179359A1 (zh) * | 2018-03-21 | 2019-09-26 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN111131001A (zh) * | 2019-12-25 | 2020-05-08 | 南京甄视智能科技有限公司 | 消息发送方法、装置、存储介质及服务器 |
CN112256447A (zh) * | 2020-09-11 | 2021-01-22 | 上海汇付数据服务有限公司 | 消息通知方法以及*** |
CN112804326A (zh) * | 2021-01-12 | 2021-05-14 | 重庆贵飞科技有限公司 | 物联网数据传输方法及照明*** |
CN114257561A (zh) * | 2021-12-17 | 2022-03-29 | 东土科技(宜昌)有限公司 | 一种串口网口的数据透传方法及装置、设备、存储介质 |
CN114567630A (zh) * | 2022-04-29 | 2022-05-31 | 南京信思顺信息技术有限公司 | 一种基于流程引擎的智能表单生成方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404872A (zh) * | 2019-11-21 | 2020-07-10 | 杭州海康威视***技术有限公司 | 一种报文处理方法、装置及*** |
CN112769895B (zh) * | 2020-12-18 | 2023-10-13 | 杭州涂鸦信息技术有限公司 | 一种群组或场景的控制方法及相关装置 |
CN114401292B (zh) * | 2022-01-10 | 2023-06-06 | 徐工汉云技术股份有限公司 | 一种基于物影子的设备消息采集***及方法 |
CN114844740B (zh) * | 2022-04-29 | 2024-01-30 | 东风电驱动***有限公司 | 双芯片间通信方法及芯片 |
CN115019494B (zh) * | 2022-06-02 | 2024-02-06 | 武汉领普科技有限公司 | 无线开关、无线开关的处理方法及控制*** |
CN114928431A (zh) * | 2022-06-30 | 2022-08-19 | 南斗六星***集成有限公司 | 一种车联网终端防丢包通讯的方法和*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722652A (zh) * | 2004-05-04 | 2006-01-18 | 三星电子株式会社 | 基于混合自动重传请求改变发射时间间隔的方法和设备 |
CN101459496A (zh) * | 2008-12-18 | 2009-06-17 | 北京大学 | 一种消息的超时时间间隔的调整方法及装置 |
JP2012120029A (ja) * | 2010-12-02 | 2012-06-21 | Mitsubishi Electric Corp | 制御システム、通信装置および通信方法 |
CN103138899A (zh) * | 2011-11-28 | 2013-06-05 | 中兴通讯股份有限公司 | 通信链路层中通信包的重传方法及装置 |
CN107276728A (zh) * | 2017-06-12 | 2017-10-20 | 北京三快在线科技有限公司 | 一种数据传输方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651527A (zh) * | 2008-08-11 | 2010-02-17 | 华为技术有限公司 | 数据处理方法、重传上报方法、设备及数据传输*** |
CN102130954A (zh) * | 2011-03-17 | 2011-07-20 | 华为技术有限公司 | 数据资源传输的方法和设备 |
CN105245470B (zh) * | 2015-11-05 | 2019-05-17 | 深圳市网心科技有限公司 | 一种数据传输方法和装置 |
CN108599904B (zh) * | 2018-03-21 | 2021-09-28 | 中兴通讯股份有限公司 | 一种数据传输方法及装置 |
-
2018
- 2018-03-21 CN CN201810234061.2A patent/CN108599904B/zh active Active
-
2019
- 2019-03-15 WO PCT/CN2019/078268 patent/WO2019179359A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722652A (zh) * | 2004-05-04 | 2006-01-18 | 三星电子株式会社 | 基于混合自动重传请求改变发射时间间隔的方法和设备 |
CN101459496A (zh) * | 2008-12-18 | 2009-06-17 | 北京大学 | 一种消息的超时时间间隔的调整方法及装置 |
JP2012120029A (ja) * | 2010-12-02 | 2012-06-21 | Mitsubishi Electric Corp | 制御システム、通信装置および通信方法 |
CN103138899A (zh) * | 2011-11-28 | 2013-06-05 | 中兴通讯股份有限公司 | 通信链路层中通信包的重传方法及装置 |
CN107276728A (zh) * | 2017-06-12 | 2017-10-20 | 北京三快在线科技有限公司 | 一种数据传输方法和装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019179359A1 (zh) * | 2018-03-21 | 2019-09-26 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN109921967A (zh) * | 2019-03-08 | 2019-06-21 | 美的智慧家居科技有限公司 | 指令处理方法及***、网关设备和计算机可读存储介质 |
CN109921967B (zh) * | 2019-03-08 | 2021-05-07 | 美智光电科技股份有限公司 | 指令处理方法及***、网关设备和计算机可读存储介质 |
CN110113495A (zh) * | 2019-05-10 | 2019-08-09 | 北京奇艺世纪科技有限公司 | App的远程控制方法、装置、电子设备及*** |
CN111131001A (zh) * | 2019-12-25 | 2020-05-08 | 南京甄视智能科技有限公司 | 消息发送方法、装置、存储介质及服务器 |
CN112256447A (zh) * | 2020-09-11 | 2021-01-22 | 上海汇付数据服务有限公司 | 消息通知方法以及*** |
CN112804326A (zh) * | 2021-01-12 | 2021-05-14 | 重庆贵飞科技有限公司 | 物联网数据传输方法及照明*** |
CN112804326B (zh) * | 2021-01-12 | 2022-07-22 | 重庆贵飞科技有限公司 | 物联网数据传输方法及照明*** |
CN114257561A (zh) * | 2021-12-17 | 2022-03-29 | 东土科技(宜昌)有限公司 | 一种串口网口的数据透传方法及装置、设备、存储介质 |
CN114567630A (zh) * | 2022-04-29 | 2022-05-31 | 南京信思顺信息技术有限公司 | 一种基于流程引擎的智能表单生成方法 |
CN114567630B (zh) * | 2022-04-29 | 2022-07-19 | 南京信思顺信息技术有限公司 | 一种基于流程引擎的智能表单生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108599904B (zh) | 2021-09-28 |
WO2019179359A1 (zh) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108599904A (zh) | 一种数据传输方法及装置 | |
CN107682886B (zh) | 一种多路径的数据传输方法 | |
CN106464598B (zh) | 用于基于传输速率梯度的网络拥塞控制的方法和装置 | |
US7738394B2 (en) | Receiving data in a sensor network | |
EP2913970B1 (en) | Policy control method and device for terminal peripherals | |
CN104168214B (zh) | 一种丢弃分组数据的方法及装置 | |
Kafi et al. | Congestion detection strategies in wireless sensor networks: A comparative study with testbed experiments | |
US20160218837A1 (en) | Method and apparatus to use more transmission opportunities in a distributed network topology with limited harq processes | |
CN104270790A (zh) | 基于信道公平分配的拥塞控制方法 | |
CN103945462B (zh) | 一种辅服务小区配置方法及设备 | |
CN102025635A (zh) | 一种工作在全双工模式下的网络流量控制方法及装置 | |
CN105262643B (zh) | 一种基于td-lte移动网络传输特征的丢包区分方法 | |
CN110213088A (zh) | 一种传输时限下aloha网络可靠性的优化方法 | |
CN112689268B (zh) | 编队无人机组网提高多路由数据传输效率的方法及*** | |
CN106162739A (zh) | 网络拥塞控制方法和*** | |
CN106941694A (zh) | 数据包的无线传输跨层优化方法及装置 | |
CN108023690A (zh) | 动态harq-ack反馈的方法及装置 | |
CN108650258B (zh) | 窄带物联网无线链路协议子层am实体数据传输自适应方法 | |
Himeedah et al. | Tcp congestion analysis of wired and wireless links using ns3 | |
CN110266446A (zh) | 一种基于sack模式调整乱序时长的方法和装置 | |
CN109495931A (zh) | 链路聚合的数据传输方法及相关装置 | |
CN104579578B (zh) | 一种抗传输干扰的无线通信链路自适应方法 | |
CN110290552A (zh) | 缓存深度的测量方法和装置、存储介质、电子装置 | |
Khandish et al. | An efficient backoff scheme in wireless sensor networks | |
CN108934044A (zh) | 数据包传输方法及设备 |
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 |