一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

更新程序的运行方法、装置、电子装置和存储介质与流程

2022-03-09 01:02:39 来源:中国专利 TAG:


1.本技术涉及通信领域,特别是涉及更新程序的运行方法、装置、电子装置和存储介质。


背景技术:

2.随着社会生产力和信息化的发展程度越来越高,生活中的各类产品、设备已经搭载了嵌入式mcu,产品的智能化程度也越来越高,互联网已经慢慢拓展到了物联网。人们对于设备终端进行程序更新的需求和愿望也越来越强烈。现有的程序更新的方式基本都是在用于功能实现的用户程序(app程序)基础上加上一个只用于用户程序更新的引导boot程序,所以当用户有程序升级的需求并升级时,需要由当前运行的用户程序跳转到boot程序,而当引导boot程序更新用户程序未完成而发生如停电、升级程序包出错等异常情况时,由于用户程序已经被擦除,所以有可能出现变砖而宕机的情况。
3.针对相关技术中存在程序更新出错而导致设备宕机的问题,目前还没有提出有效的解决方案。


技术实现要素:

4.在本实施例中提供了一种更新程序的运行方法、装置、电子装置和存储介质,以解决相关技术中程序更新出错而导致设备宕机的问题。
5.第一个方面,在本实施例中提供了一种更新程序的运行方法,应用于嵌入式设备,所述更新程序的运行方法包括:
6.确定所述嵌入式设备的当前程序运行分区;
7.设置备份程序运行分区,并将更新程序文件下载到所述备份程序运行分区;
8.在确认所述更新程序文件下载成功后,将所述嵌入式设备的所述当前程序运行分区切换到所述备份程序运行分区,运行所述更新程序文件。
9.在其中的一些实施例中,所述更新程序文件包括:目标运行程序和校验码信息。
10.在其中的一些实施例中,在确认所述更新程序文件下载成功后,将所述嵌入式设备的所述当前程序运行分区切换到所述备份程序运行分区,运行所述更新程序文件包括:
11.在确认所述更新程序文件下载成功后,获取所述运行程序更新文件中的所述校验码信息;
12.校验所述校验码信息是否正确;
13.在校验到所述校验码信息正确的情况下,将所述嵌入式设备的所述当前程序运行分区切换到所述备份程序运行分区,运行所述更新程序文件。
14.在其中的一些实施例中,所述方法还包括:
15.在校验到所述校验码信息不正确的情况下,保持所述嵌入式设备的当前程序的当前运行分区的运行。
16.在其中的一些实施例中,所述方法还包括:
17.在校验到所述校验码信息不正确的情况下,生成所述更新程序文件的下载失败信息。
18.在其中的一些实施例中,在在确认所述更新程序文件下载成功后,将所述嵌入式设备的所述当前程序运行分区切换到所述备份程序运行分区,运行所述更新程序文件之前,所述方法还包括:
19.删除所述当前程序运行分区的历史运行程序。
20.在其中的一些实施例中,在在确认所述更新程序文件下载成功后,将所述嵌入式设备的所述当前程序运行分区切换到所述备份程序运行分区,运行所述更新程序文件之后,所述方法还包括:
21.存储所述当前程序运行分区的当前程序信息。
22.第二个方面,在本实施例中提供了一种更新程序的运行装置,应用于嵌入式设备,所述更新程序的运行装置包括:
23.确定模块,用于确定所述嵌入式设备的当前程序运行分区;
24.设置模块,用于设置备份程序运行分区,并将更新程序文件下载到所述备份程序运行分区;
25.切换模块,用于在确认所述更新程序文件下载成功后,将所述嵌入式设备的所述当前程序运行分区切换到所述备份程序运行分区,运行所述更新程序文件。
26.第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的更新程序的运行方法。
27.第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的更新程序的运行方法。
28.与相关技术相比,在本实施例中提供的更新程序的运行方法、装置、电子装置和存储介质,通过确定嵌入式设备的当前程序运行分区;设置备份程序运行分区,并将更新程序文件下载到备份程序运行分区;在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件的方式,解决了相关技术中程序更新出错而导致设备宕机的问题,实现了程序更新时的程序的正常运行。
29.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
30.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
31.图1是本实施例的更新程序的运行方法的终端的硬件结构框图;
32.图2是本实施例的更新程序的运行方法的流程图;
33.图3是本优选实施例的更新程序的运行方法的流程图;
34.图4是本优选实施例的更新程序的运行装置的结构框图;
35.图5是本实施例的更新程序的运行装置的结构框图。
具体实施方式
36.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
37.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
38.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的更新程序的运行方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
39.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的更新程序的运行方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
40.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
41.在本实施例中提供了一种更新程序的运行方法,可应用于嵌入式设备,图2是本实施例的更新程序的运行方法的流程图,如图2所示,该流程包括如下步骤:
42.步骤s201,确定嵌入式设备的当前程序运行分区。
43.在本步骤中,可以将嵌入式设备的程序运行所在的分区作为当前程序运行分区。
44.步骤s202,设置备份程序运行分区,并将更新程序文件下载到备份程序运行分区。
45.在本步骤中,可以通过设置一个备份程序运行分区来用于将更新程序文件下载到备份程序运行分区,以避免在当前程序运行分区中下载该更新程序文件时,更新程序文件出现错误,而导致当前程序运行分区宕机的问题。
46.需要说明的是,备份程序运行分区是与当前程序运行分区相互隔离且互不干扰的两个分区。
47.步骤s203,在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件。
48.在本步骤中,通过在确认更新程序文件下载成功之后,再将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件的方式,可以避免在当前程序运行分区中下载该更新程序文件时,更新程序文件出现错误,而导致当前程序运行分区宕机的问题。
49.基于上述步骤s201至步骤s203,通过确认嵌入式设备的当前程序运行分区的前提下,设置备份程序运行分区,然后将更新程序文件下载到备份程序运行分区中,最后再在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件的方式,避免了运行当前程序运行分区中下载该更新程序文件时,更新程序文件出现错误,而导致当前程序运行分区宕机的问题,实现了程序更新时的程序的正常运行,避免了嵌入式设备更新时系统崩溃的问题。
50.在其中的一些实施例中,更新程序文件包括:目标运行程序和校验码信息。
51.在本实施例中,通过将用于更新的目标运行程序以及用于校验的校验码信息包装在更新程序文件中的方式,可以避免更新之后需要再次请求校验码信息进行校验,而导致更新过程繁琐,简化了更新流程。
52.在其中的一些实施例中,在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件包括:在确认更新程序文件下载成功后,获取程序更新文件中的校验码信息;校验校验码信息是否正确;在校验到校验码信息正确的情况下,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件。
53.在本实施例中,在确认更新程序文件下载成功后,再次获取更新程序文件中的校验码信息,然后通过校验校验码信息是否正确;在校验到校验码信息正确的情况下,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件的方式,对更新程序文件进行进一步的校验,以确保更新程序文件的完整性,实现程序更新时的程序的正常运行。
54.需要说明的是,校验码信息可以是一些合法性校验方式。
55.在其中的一些实施例中,还可以在校验到校验码信息不正确的情况下,保持嵌入式设备的当前程序的当前运行分区的运行。
56.在本实施例中,通过在校验到校验码信息不正确的情况下,可以校验出更新程序文件下载出现错误,然后依旧保持嵌入式设备的当前程序的当前运行分区的运行的方式,确保了嵌入式设备的正常运行,避免了因为出错而导致设备宕机的问题。
57.在其中的一些实施例中,还可以在校验到校验码信息不正确的情况下,生成更新程序文件的下载失败信息。
58.在本实施例中,通过在校验到校验码信息不正确的情况下,生成更新程序文件的下载失败信息的方式,可以基于该下载失败信息通知客户端下载失败,根据该下载失败信息解决下载失败问题进而实现及时对设备的程序更新。
59.在其中的一些实施例中,在在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件之前,还可以删除当前程序运行分区的历史运行程序。
60.在本实施例中,通过在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件之前,删除当前程序运行分区的历史运行程序的方式,可以避免历史运行程序占用设备的空间资源。
61.在其中的一些实施例中,在在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件之后,还可以存储当前程序运行分区的当前程序信息。
62.在本实施例中,通过存储当前程序运行分区的当前程序信息的方式,可以实现在备份程序运行分区运行出错的情况下,切换到当前程序运行分区的当前程序,以避免设备无法因为出错而无法使用的问题,实现了设备的正常运行。
63.需要说明的是,当前程序信息可以是当前程序运行分区的当前程序运行版本等。
64.在相关技术中,程序升级一旦失败,设备就会变砖只能返厂维修,而用户使用的条件是复杂多变的,所以程序升级的安全性一直是摆在首位的。本技术实施例相比现有技术能够做到在程序升级时不影响用户对产品正常使用,用户升级的等待时间为0,用户体验感好,同时程序升级完成后,会对升级完成的程序是否正确做合法性校验,确保升级没有问题后,才会切换到新升级的程序,程序升级的安全性极高。
65.通过上述实施例,针对现有技术中的宕机的问题,本技术实施例中通过建立两个程序分区的方式,在不擦除当前运行程序的前提下,进行程序写入,并在写入完成后对写入程序进行合法性校验;所以当出现升级程序包出错的情况下,能够校验出此异常并依旧运行现有程序,产品依旧能正常运行。
66.下面通过优选实施例对本实施例进行描述和说明。
67.图3是本优选实施例的更新程序的运行方法的流程图,可以应用于嵌入式设备,如图3所示,该更新程序的运行方法包括如下步骤:
68.步骤s301,获取更新程序文件。
69.步骤s302,确定嵌入式设备的当前程序运行分区。
70.步骤s303,设置备份程序运行分区,并将更新程序文件下载到备份程序运行分区。
71.在本步骤中,更新程序文件包括目标运行程序和校验码信息。
72.步骤s304,在确认更新程序文件下载成功后,获取运行程序更新文件中的校验码信息。
73.步骤s305,校验校验码信息是否正确,若是,执行步骤s306,若否,则执行步骤s307。
74.步骤s306,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件。
75.步骤s307,保持嵌入式设备的当前程序的当前运行分区的运行。
76.基于上述步骤s301至步骤s307,通过确认嵌入式设备的当前程序运行分区的前提下,设置备份程序运行分区,然后将更新程序文件下载到备份程序运行分区中,最后再在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件的方式,避免了在当前程序运行分区中下载该更新程序文件时,更新程序文件出现错误,而导致当前程序运行分区宕机的问题,实现了程序更新时的程序的正常运行,避免了嵌入式设备更新时系统崩溃的问题。
77.在本实施例中,还对更新程序文件做好合法性标记,任何非法不正确的程序文件即使下载完成了,也能够校验出来,避免运行错误程序而宕机。
78.图4是本优选实施例的更新程序的运行装置的结构框图,可以应用于嵌入式设备,如图4所示,该更新程序的运行装置包括:
79.引导程序41,用于判断嵌入式设备的当前程序运行在哪一个分区中,并跳转到相应的分区执行程序。
80.当前程序运行分区42,用于执行嵌入式设备的当前程序。
81.备份程序运行分区43,用于更新程序文件下载。
82.在本实施例中,通过对设备的内部划分为2个运行分区,每个分区都能够独立运行,对程序做运行备份,在升级的时候不擦除当前运行的程序。
83.在本实施例中还提供了一种更新程序的运行装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
84.图5是本实施例的更新程序的运行装置的结构框图,应用于嵌入式设备,如图5所示,该装置包括:
85.确定模块51,用于确定嵌入式设备的当前程序运行分区;
86.设置模块52,耦合至确定模块51,用于设置备份程序运行分区,并将更新程序文件下载到备份程序运行分区;
87.切换模块53,耦合至设置模块52,用于在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件。
88.在本实施例中,通过确定模块51,用于确定嵌入式设备的当前程序运行分区;设置模块52,耦合至确定模块51,用于设置备份程序运行分区,并将更新程序文件下载到备份程序运行分区;切换模块53,耦合至设置模块52,用于在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件的方式,解决了相关技术中程序更新出错而导致设备宕机的问题,实现了程序更新时的程序的正常运行。
89.在其中的一些实施例中,更新程序文件包括:目标运行程序和校验码信息。
90.在其中的一些实施例中,切换模块53包括:获取单元,用于在确认更新程序文件下载成功后,获取运行程序更新文件中的校验码信息;校验单元,用于校验校验码信息是否正确;切换单元,用于在校验到校验码信息正确的情况下,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件。
91.在其中的一些实施例中,切换模块53还包括:运行单元,用于在校验到校验码信息
不正确的情况下,保持嵌入式设备的当前程序的当前运行分区的运行。
92.在其中的一些实施例中,切换模块53还包括:生成单元,用于在校验到校验码信息不正确的情况下,生成更新程序文件的下载失败信息。
93.在其中的一些实施例中,该装置还包括:删除模块,用于删除当前程序运行分区的历史运行程序。
94.在其中的一些实施例中,该装置还包括:存储模块,用于存储当前程序运行分区的当前程序信息。
95.在相关技术中,程序升级一旦失败,设备就会变砖只能返厂维修,而用户使用的条件是复杂多变的,有因设备升级失败而导致宕机的风险,所以程序升级的安全性一直是摆在首位的。本技术实施例的装置相比现有技术能够做到在程序升级时不影响用户对产品正常使用,用户升级的等待时间基本为零,提升了用户体验感,同时程序升级完成后,会对升级完成的程序是否正确做合法性校验,确保升级没有问题后,才会切换到新升级的程序,程序升级的安全性极高。
96.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
97.在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
98.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
99.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
100.步骤s201,确定嵌入式设备的当前程序运行分区。
101.在本步骤中,可以将嵌入式设备的程序运行所在的分区作为当前程序运行分区。
102.步骤s202,设置备份程序运行分区,并将更新程序文件下载到备份程序运行分区。
103.在本步骤中,可以通过设置一个备份程序运行分区来用于将更新程序文件下载到备份程序运行分区,以避免在当前程序运行分区中下载该更新程序文件时,更新程序出现错误,而导致当前程序运行分区宕机的问题。
104.需要说明的是,备份程序运行分区是与当前程序运行分区相互隔离且互不干扰的两个分区。
105.步骤s203,在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件。
106.在本步骤中,通过在确认更新程序文件下载成功之后,再将嵌入式设备的当前程序运行分区切换到备份程序运行分区,运行更新程序文件的方式,可以避免在当前程序运行分区中下载该更新程序文件时,更新程序文件出现错误,而导致当前程序运行分区宕机的问题。
107.基于上述步骤s201至步骤s203,通过确认嵌入式设备的当前程序运行分区的前提下,设置备份程序运行分区,然后将更新程序文件下载到备份程序运行分区中,最后再在确认更新程序文件下载成功后,将嵌入式设备的当前程序运行分区切换到备份程序运行分
区,运行更新程序文件的方式,避免了在当前程序运行分区中下载该更新程序文件时,更新程序文件出现错误,而导致当前程序运行分区宕机的问题,实现了程序更新时的程序的正常运行,避免了嵌入式设备更新时系统崩溃的问题。
108.需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
109.此外,结合上述实施例中提供的更新程序的运行方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种更新程序的运行方法。
110.应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
111.显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0112]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0113]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献