一种文件传输方法、装置及相关设备与流程
本申请涉及信号传输技术,尤其涉及一种文件传输方法、装置及相关设备。
背景技术:
1、现有的工业嵌入式设备固件升级方案中,通常是上位机通过uart等串行通信接口,采用停止-等待或固定窗口大小的流控方式,将固件文件划分为数据包后传输至嵌入式设备,以进行iap固件升级。这些固件升级方案要求串行链路的信道质量保持稳定,且传输过程中发送窗口的大小固定不变。
2、然而,在工厂产线等电磁环境复杂的场景下,电机、变频器、焊机等干扰源产生的强电磁干扰导致串行通信的信道质量波动,使传输的数据包出现误码、丢包;同时,固定大小的发送窗口无法随信道质量的变化自适应调整,使得信道质量良好时串行带宽无法被充分利用、信道质量恶化时窗口内的数据包大量连续丢失,进一步的,当丢包频繁发生时,容易导致重传的数据包与窗口内新发送的数据包相互叠加、传输进度停滞,进而导致固件传输中断、升级失败,进而影响工业嵌入式设备固件升级的可靠性和传输效率。
3、因此,如何提升工业嵌入式设备固件升级的可靠性和传输效率,亟待解决。
技术实现思路
1、本申请提供一种文件传输方法、装置及相关设备,旨在解决工业嵌入式设备进行固件升级时,传输的固件升级数据容易出现丢包,且不能根据信道的质量自适应调节数据的发送,从而造成升级可靠性较低以及传输效率较低的问题。
2、为了解决上述问题,本申请提出如下解决方案:
3、第一方面,本申请提供了一种文件传输方法,应用于工业设备固件升级系统中的上位机,所述方法包括:
4、获取固件升级数据,并将所述固件升级数据划分为多个数据包;所述多个数据包中的每个数据包携带载荷数据和所述载荷数据在所述固件升级数据中对应的偏移量;
5、通过第一发送窗口向嵌入式设备传输所述第一发送窗口对应的第一数据包;接收所述嵌入式设备响应所述第一数据包生成窗口控制参数;根据所述窗口控制参数调整所述第一发送窗口,得到目标发送窗口;向所述嵌入式设备发送所述目标发送窗口对应的目标数据包;
6、接收所述嵌入式设备响应所述目标数据包生成的数据接收参数;根据所述数据接收参数确定所述多个数据包中缺失数据包对应的目标偏移量;并向所述嵌入式设备重新发送所述缺失数据包;
7、在所述嵌入式设备已完成所述多个数据包的接收时,向所述嵌入式设备发送固件升级指令,以使得所述嵌入式设备根据所述固件升级数据执行固件升级。
8、第二方面,本申请提供了一种文件传输装置,应用于工业设备固件升级系统中的上位机,所述装置包括:
9、获取单元,用于获取固件升级数据,并将所述固件升级数据划分为多个数据包;所述多个数据包中的每个数据包携带载荷数据和所述载荷数据在所述固件升级数据中对应的偏移量;
10、确定单元,用于通过第一发送窗口向嵌入式设备传输所述第一发送窗口对应的第一数据包;接收所述嵌入式设备响应所述第一数据包生成窗口控制参数;根据所述窗口控制参数调整所述第一发送窗口,得到目标发送窗口;向所述嵌入式设备发送所述目标发送窗口对应的目标数据包;
11、控制单元,用于接收所述嵌入式设备响应所述目标数据包生成的数据接收参数;根据所述数据接收参数确定所述多个数据包中缺失数据包对应的目标偏移量;并向所述嵌入式设备重新发送所述缺失数据包;
12、升级单元,用于在所述嵌入式设备已完成所述多个数据包的接收时,向所述嵌入式设备发送固件升级指令,以使得所述嵌入式设备根据所述固件升级数据执行固件升级。
13、第三方面,本申请提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
14、第四方面,本申请提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
15、第五方面,本申请提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
16、通过实施本申请实施例,具备如下有益效果:
17、本申请实施例提供了一种文件传输方法、装置及相关设备,首先获取待升级的固件升级数据,并按照预设数据长度对固件升级数据进行划分,得到多个数据包;其中,每个数据包包括对应的载荷数据以及载荷数据在固件升级数据中的偏移量;然后,通过第一发送窗口向嵌入式设备传输第一发送窗口对应的第一数据包,使嵌入式设备根据接收到的数据包生成窗口控制参数;接着,接收嵌入式设备发送的窗口控制参数,并根据窗口控制参数调整第一发送窗口,得到目标发送窗口,根据目标发送窗口向嵌入式设备发送对应的数据包;进一步的,接收嵌入式设备发送的数据接收状态信息,并根据数据接收状态信息确定多个数据包中的缺失数据包对应的目标偏移量,根据目标偏移量确定缺失数据包,并重新发送缺失数据包至嵌入式设备;最后,在确定多个数据包均完成接收后,向嵌入式设备发送固件升级完成指令,以使嵌入式设备根据完整的固件升级数据执行固件升级。如此,通过在固件数据包中携带载荷数据对应的偏移量,并基于嵌入式设备反馈的窗口控制参数动态调整发送窗口,使固件数据传输过程中的数据发送范围能够根据当前接收状态进行调整,避免固定发送窗口在链路状态较好时无法充分利用通信资源造成连续数据包丢失的问题;同时,根据数据接收状态信息确定缺失数据包对应的目标偏移量,并基于目标偏移量重新发送缺失数据包,使得数据传输异常时能够定位未成功接收的数据位置,避免对已完成传输的数据进行重复发送,从而有利于提升工业嵌入式设备固件升级过程中的数据传输效率和传输可靠性,降低因数据丢失导致固件升级失败的概率。
1.一种文件传输方法,其特征在于,应用于工业设备固件升级系统中的上位机,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述根据所述窗口控制参数调整所述第一发送窗口,得到目标发送窗口,包括:
3.如权利要求2所述的方法,其特征在于,所述根据所述窗口结束偏移参数、所述第一数据发送范围参数对所述第一发送窗口进行扩展,得到第二发送窗口,包括:
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
5.如权利要求1-4任一项所述的方法,其特征在于,所述根据所述数据接收参数确定所述多个数据包中缺失数据包对应的目标偏移量,包括:
6.如权利要求5所述的方法,其特征在于,所述根据所述数据包序列中两两相邻的数据包对应的偏移量之间的连续关系确定所述多个数据包中的所述缺失数据包,包括:
7.如权利要求1-4任一项所述的方法,其特征在于,在所述接收所述嵌入式设备响应所述目标数据包生成的数据接收参数的方面,所述嵌入式设备具体用于:
8.如权利要求1所述的方法,其特征在于,在所述获取固件升级数据,并将所述固件升级数据划分为多个数据包之后,所述方法还包括:
9.一种文件传输装置,其特征在于,应用于工业设备固件升级系统中的上位机,所述装置包括:
10.一种电子设备,其特征在于,包括:处理器、存储器、通信接口以及一个或多个程序;所述一个或多个程序被存储在所述存储器中,并且被配置成由所述处理器执行,所述程序包括用于执行如权利要求1-8任一项所述的方法中的步骤的指令。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com