软件在线升级修复方法
【专利摘要】本发明提供一种软件在线升级修复方法,主要是在上位机与下位机建立通信的基础上,使上位机通过查询下位机的断点应答信息,并判断断点应答信息是否有断点信息,若是则从断点位置开始逐帧传输上一次升级过程中未传输完的文件数据,并传输完成后发送一表征为传输文件结束指令的文件数据,而在下位机端,在接收到表征为传输文件结束指令的文件数据之前,每次将接收到的文件数据写入本下位机的嵌入式系统的存储介质的相应位置,当写入完成后将该位置更新记录为中断位置,以作为断点信息,若在之后,则依据所接收到的所有文件数据进行在线升级修复操作,进而实现在嵌入式系统软件在线升级修复过程中的断点续传的功能,可有效地提高升级修复效率。
【专利说明】软件在线升级修复方法
【技术领域】
[0001]本发明涉及一种软件在线升级修复方法,特别是涉及一种用以解决嵌入式系统在软件升级过程中因异常而中断的情况下,如何通过断点续传的方式来修复嵌入式系统软件的在线升级功能的软件在线升级修复方法。
【背景技术】
[0002]为了使嵌入式系统中的软件、数据等资讯信息处于最新状态,需实时对嵌入式系统进行升级维护,但当在恶劣环境中进行在线升级时,因升级过程中容易受到干扰、线路异常中断通等异常事件,可造成升级失败,致使嵌入系统不能正常工作,从而引发不良后果。
[0003]而目前在业界内使用的嵌入系统软件在线升级方法是基于稳定链路环境下不间断的升级,当在线升级过程中,出现升级中断时需重头开始重新升级,采用此类升级模式,则在通讯干扰强烈、信道不稳定等的恶劣环境下,软件在线升级将很难成功。
[0004]因此,基于以上不足,有必要提供一种按情况适量缩短升级过程的软件在线升级修复方法,以保证即使在恶劣环境下也能快速而有效地完成软件在线升级任务。
【发明内容】
[0005]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种可按情况适量缩短升级过程的软件在线升级修复方法。
[0006]为实现上述目的及其他相关目的,本发明提供一种软件在线升级修复方法,其应用于可相互通信的上位机与下位机之间,用于实现对下位机中的嵌入式系统软件在上一次升级过程中发生异常状况的修复升级功能,且当下位机在升级过程中发生异常状况时记录有断点信息,其特征在于,所述软件在线升级修复方法至少包括:(I)建立所述上位机与所述下位机之间的通信;(2)于所述上位机端,向所述下位机发送断点信息查询指令;(3)于所述下位机端,响应所述上位机所发送的指令,并上传本下位机上一次升级过程中所记录的断点应答信息至所述上位机;(4)于所述上位机端,根据所述下位机所上传的断点应答信息,判断该断点应答信息是否有断点信息,若是,则进至步骤(5),若否,则进至步骤(6);
(5)于所述上位机端,从需要传输给下位机的升级文件起始位置开始一帧一帧传输文件数据,并于文件数据传输完成后,发送一表征为传输文件结束指令的文件数据,接着,进行步骤(7) ; (6)于所述上位机端,从断点位置开始一巾贞一巾贞传输上一次升级过程中未传输完的文件数据,并于文件数据传输完成后,发送一表征为传输文件结束指令的文件数据;(7)于所述下位机端,判断所接收到的文件数据是否表征为文件传输结束指令,若是,则依据所接收到的所有文件数据进行在线升级修复操作,若否,则进至步骤(8) ;(8)于所述下位机端,将接收到的文件数据写入本下位机的嵌入式系统的存储介质的相应位置,当写入完成后将该位置更新记录为中断位置,以作为断点信息,并上传一本下位机已正确接收到一帧数据的应答信息至所述上位机;以及(9)于所述上位机端,根据所述下位机所上传的已正确接收到一帧数据的应答信息,继续传输下一帧文件数据,接着,返回至步骤(7)。[0007]优选地,上述步骤(1)进一步包括:通过RS232、RS485或网络建立所述上位机与所述下位机之间的通信。其中,所述网络可例如为无线网络或有线网络。所述断点信息包括上一次升级过程中在中断时所记录的传输数据长度和传输数据地址。
[0008]在本发明的软件在线升级修复方法的一个实施例中,所述软件在线升级修复方法支持广播通讯模式。
[0009]如上所述,本发明的软件在线升级修复方法主要是利用了断点续传的原理,在上位机与下位机建立通信的基础上,使上位机通过查询下位机的断点应答信息,之后于上位机端依据下位机所上传的断点应答信息,判断该断点应答信息是否有断点信息,若否,则从需要传输给下位机的升级文件起始位置开始一帧一帧传输文件数据,若是,则从断点位置开始一帧一帧传输上一次升级过程中未传输完的文件数据,无论是哪种情况,均于文件数据传输完成后,发送一表征为传输文件结束指令的文件数据,而在下位机端,在接收到表征为传输文件结束指令的文件数据之前,每次将接收到的文件数据写入本下位机的嵌入式系统的存储介质的相应位置,当写入完成后将该位置更新记录为中断位置,以作为断点信息,直至接收到表征为传输文件结束指令的文件数据之后,依据所接收到的所有文件数据进行在线升级修复操作。如此,即可避免现有技术中当出现升级中断时需重头开始重新升级,不但浪费时间,而且,对于遭遇例如通讯干扰强烈、信道不稳定等恶劣环境而时常发生中断时,则以此种方式进行软件在线升级将很难成功等问题。
【专利附图】
【附图说明】
[0010]图1显示为本发明的软件在线升级修复方法的操作流程示意图。
[0011]元件标号说明
[0012]SlO ~S80步骤【具体实施方式】
·[0013]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0014]请参阅图1,是显示本发明的软件在线升级修复方法的操作流程图。本发明的软件在线升级修复方法是应用于可相互通信的上位机与下位机之间,用于实现对下位机中的嵌入式系统软件在上一次升级过程中发生异常状况而中断的修复升级功能,且当下位机在升级过程中发生异常状况时记录有断点信息,其中,该断点信息包括上一次升级过程中在中断时所记录的传输数据长度和传输数据地址。以下即对本发明的软件在线升级修复方法的操作流程进行详细说明。
[0015]如图1所示,首先执行步骤S10,建立该上位机与该下位机之间的通信,更详而言之,是通过RS232、RS485或网络(该网络可例如为无线网络或有线网络)等建立该上位机与该下位机之间的通信,但不以此为限,举凡可实现上位机与下位机之间的指令、数据等的通信往来的技术均可。接着,进行步骤S20。
[0016]在步骤S20中,于该上位机端,向该下位机发送断点信息查询指令。接着,进行步骤 S30。
[0017]在步骤S30中,于该下位机端,响应该上位机所发送的指令,并上传本下位机上一次升级过程中所记录的断点应答信息至该上位机。接着,进行步骤S40。
[0018]在步骤S40中,于该上位机端,根据该下位机所上传的断点应答信息,判断该断点应答信息是否有断点信息,若是,则进至步骤S51,若否,则进至步骤S52。
[0019]在步骤S51中,于该上位机端,从需要传输给下位机的升级文件起始位置开始一帧一帧传输文件数据,并于文件数据传输完成后,发送一表征为传输文件结束指令的文件数据。接着,进行步骤S60。
[0020]在步骤S52中,于该上位机端,从断点位置开始一帧一帧传输上一次升级过程中未传输完的文件数据,并于文件数据传输完成后,发送一表征为传输文件结束指令的文件数据。接着,进行步骤S60。
[0021]在步骤S60中,于该下位机端,判断所接收到的文件数据是否表征为文件传输结束指令,若是,则进至步骤S71,若否,则进至步骤S72。
[0022]在步骤S71中,于该下位机端,依据所接收到的所有文件数据进行在线升级修复操作,此时,即可结束本次软件在线升级修复过程。
[0023]在步骤S72中,于该下位机端,将接收到的文件数据写入本下位机的嵌入式系统的存储介质的相应位置,当写入完成后将该位置更新记录为中断位置,以作为断点信息,并上传一本下位机已正确接收到一帧数据的应答信息至该上位机。接着,进行步骤S80。
[0024]在步骤S80中,于该上位机端,根据该下位机所上传的已正确接收到一帧数据的应答信息,继续传输下一帧文件数据,接着,返回至步骤S60。
[0025]此处需予以说明的是,在本发明的一个实施例中,本发明的软件在线升级修复方法可同时支持广播通讯模式。
[0026]综上所述,本发明的软件在线升级修复方法主要是解决了嵌入式系统在软件升级过程中因环境恶劣发生异常而中断的情况下,如何通过断点续传的方式来修复嵌入式系统软件的在线升级问题,主要是通过在升级中断时记录断点信息,以于再次升级时根据记录的断点信息从上次断点处开始继续升级,实现了嵌入式系统软件在线升级过程中支持断点续传的功能,这种方法设计简单、修复升级速度快、实现成本低,具有良好的经济效益。
[0027]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1.一种软件在线升级修复方法,其应用于可相互通信的上位机与下位机之间,用于实现对下位机中的嵌入式系统软件在上一次升级过程中发生异常状况而中断的修复升级功能,且当下位机在升级过程中发生异常状况时记录有断点信息,其特征在于,所述软件在线升级修复方法至少包括: 1)建立所述上位机与所述下位机之间的通信; 2)于所述上位机端,向所述下位机发送断点信息查询指令; 3)于所述下位机端,响应所述上位机所发送的指令,并上传本下位机上一次升级过程中所记录的断点应答信息至所述上位机; 4)于所述上位机端,根据所述下位机所上传的断点应答信息,判断该断点应答信息是否有断点信息,若是,则进至步骤5),若否,则进至步骤6); 5)于所述上位机端,从需要传输给下位机的升级文件起始位置开始一帧一帧传输文件数据,并于文件数据传输完成后,发送一表征为传输文件结束指令的文件数据,接着,进行步骤7); 6)于所述上位机端,从断点位置开始一巾贞一巾贞传输上一次升级过程中未传输完的文件数据,并于文件数据传输完成后,发送一表征为传输文件结束指令的文件数据; 7)于所述下位机端,判断所接收到的文件数据是否表征为文件传输结束指令,若是,则依据所接收到的所有文件数据进行在线升级修复操作,若否,则进至步骤8); 8)于所述下位机端,将接收到的文件数据写入本下位机的嵌入式系统的存储介质的相应位置,当写入完成后将该位置更新记录为中断位置,以作为断点信息,并上传一本下位机已正确接收到一帧数据的应答信息至所述上位机;以及 9)于所述上位机端,根据所述下位机所上传的已正确接收到一帧数据的应答信息,继续传输下一帧文件数据,接着,返回至步骤7)。
2.根据权利要求1所述的软件在线升级修复方法,其特征在于:所述步骤I)进一步包括:通过RS232、RS485或网络建立所述上位机与所述下位机之间的通信。
3.根据权利要求2所述的软件在线升级修复方法,其特征在于:所述网络为无线网络或有线网络。
4.根据权利要求1所述的软件在线升级修复方法,其特征在于:所述断点信息包括上一次升级过程中在中断时所记录的传输数据长度和传输数据地址。
5.根据权利要求1所述的软件在线升级修复方法,其特征在于:所述软件在线升级修复方法支持广播通讯模式。
【文档编号】G06F9/445GK103631622SQ201310627629
【公开日】2014年3月12日 申请日期:2013年11月29日 优先权日:2013年11月29日
【发明者】刘静, 李阳超 申请人:中达电通股份有限公司