CN109947454B - 一种数据处理方法及系统 - Google Patents
一种数据处理方法及系统 Download PDFInfo
- Publication number
- CN109947454B CN109947454B CN201910250102.1A CN201910250102A CN109947454B CN 109947454 B CN109947454 B CN 109947454B CN 201910250102 A CN201910250102 A CN 201910250102A CN 109947454 B CN109947454 B CN 109947454B
- Authority
- CN
- China
- Prior art keywords
- program
- upgrading
- application program
- initial
- target
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种数据处理方法及系统,该方法包括:获取产品更新指令,若产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,依据升级工具程序将初始升级程序更新为目标升级程序,根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序。本方案中通过将初始应用程序替换为升级工具程序,以实现通过升级工具程序对初始升级程序的更新,并进一步实现通过目标升级程序对初始应用程序的更新,实现了对已经生产出的产品的内部程序的更新,使得已生产出的产品可适应不同平台、不同厂家或不同功能的需求,提高了产品利用率,降低了资源浪费的问题。
Description
技术领域
本申请涉及程序处理领域,尤其涉及一种数据处理方法及系统。
背景技术
现有电子产品的升级技术都是根据厂商需求实现的,然而,电子产品均是基于硬件平台实现的,由于厂商不同、应用的设备不同、产品不同对应的需求也不相同。所以同一平台所生产出的产品一旦完成生产,则不能再供给其他项目使用,这就会导致同一平台生产的产品过量造成库存积压,从而造成资源浪费的问题。
发明内容
有鉴于此,本申请提供一种数据处理方法及系统,其具体方案如下:
一种数据处理方法,包括:
获取产品更新指令;
若所述产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,所述升级程序更新指令用于指示将初始升级程序更新为目标升级程序,同时,指示将所述初始应用程序更新为第一目标应用程序;
依据所述升级工具程序将所述初始升级程序更新为目标升级程序;
根据所述目标升级程序将所述升级工具程序替换为所述第一目标应用程序,实现将所述初始应用程序替换为所述第一目标应用程序。
进一步的,还包括:
若所述产品更新指令为应用程序更新指令,则根据所述应用程序更新指令确定更新数据;
获取初始应用程序,根据所述初始升级程序及所述更新数据将所述初始应用程序更新为第二目标应用程序。
进一步的,所述若所述产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,包括:
若所述产品更新指令为升级程序更新指令,则根据所述升级程序更新指令确定升级工具程序;
获取初始升级程序及初始应用程序,将所述初始应用程序替换为所述升级工具程序。
进一步的,所述获取初始升级程序及初始应用程序,将所述初始应用程序替换为所述升级工具程序,包括:
获取初始升级程序及初始应用程序,确定用于存储所述初始升级程序的升级程序空间及用于存储所述初始应用程序的应用程序空间;
将所述应用程序空间中的初始应用程序替换为所述升级工具程序。
进一步的,还包括:
若检测到上电信息,则确定升级程序空间的程序是否为有效程序,所述升级程序空间的程序包括初始升级程序或目标升级程序;
若所述升级程序空间的程序为有效程序,则执行所述升级程序空间的程序;
若所述升级程序空间的程序为无效程序,且所述应用程序空间的程序为有效程序,则执行所述应用程序空间的程序,所述应用程序空间的程序为所述初始应用程序或所述第一目标应用程序。
一种数据处理系统,包括:获取单元,第一替换单元,第一更新单元及第二替换单元,其中:
所述获取单元用于获取产品更新指令;
所述第一替换单元用于在所述产品更新指令为升级程序更新指令时,将初始应用程序替换为升级工具程序,所述升级程序更新指令用于指示将初始升级程序更新为目标升级程序,同时,指示将所述初始应用程序更新为第一目标应用程序;
所述第一更新单元用于依据所述升级工具程序将所述初始升级程序更新为目标升级程序;
所述第二替换单元用于根据所述目标升级程序将所述升级工具程序替换为所述第一目标应用程序,实现将所述初始应用程序替换为所述第一目标应用程序。
进一步的,还包括:第二更新单元,其中:
所述第二更新单元用于在所述产品更新指令为应用程序更新指令时,根据所述应用程序更新指令确定更新数据,获取初始应用程序,根据所述初始升级程序及所述更新数据将所述初始应用程序更新为第二目标应用程序。
进一步的,所述第一替换单元具体用于:
若所述产品更新指令为升级程序更新指令,则根据所述升级程序更新指令确定升级工具程序,获取初始升级程序及初始应用程序,将所述初始应用程序替换为所述升级工具程序。
进一步的,所述第一替换单元获取初始升级程序及初始应用程序,将所述初始应用程序替换为所述升级工具程序,包括:
所述第一替换单元获取初始升级程序及初始应用程序,确定用于存储所述初始升级程序的升级程序空间及用于存储所述初始应用程序的应用程序空间,将所述应用程序空间中的初始应用程序替换为所述升级工具程序。
进一步的,还包括:判断单元,其中:
所述判断单元用于在检测到上电信息时,确定升级程序空间的程序是否为有效程序,所述升级程序空间的程序包括初始升级程序或目标升级程序,若所述升级程序空间的程序为有效程序,则执行所述升级程序空间的程序,若所述升级程序空间的程序为无效程序,且所述应用程序空间的程序为有效程序,则执行所述应用程序空间的程序,所述应用程序空间的程序为所述初始应用程序或所述第一目标应用程序。
从上述技术方案可以看出,本申请公开的数据处理方法及系统,获取产品更新指令,若产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,依据升级工具程序将初始升级程序更新为目标升级程序,根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序。本方案中通过将初始应用程序替换为升级工具程序,以实现通过升级工具程序对初始升级程序的更新,并进一步实现通过目标升级程序对初始应用程序的更新,实现了对已经生产出的产品的内部程序的更新,使得已生产出的产品可适应不同平台、不同厂家或不同功能的需求,提高了产品利用率,降低了资源浪费的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种数据处理方法的流程图;
图2为本申请实施例公开的一种数据处理方法的流程图;
图3为本申请实施例公开的一种数据处理方法的流程图;
图4为本申请实施例公开的一种程序空间示意图;
图5为本申请实施例公开的一种程序空间示意图;
图6为本申请实施例公开的一种程序空间示意图;
图7为本申请实施例公开的一种程序空间示意图;
图8为本申请实施例公开的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请公开了一种数据处理方法,其流程图如图1所示,包括:
步骤S11、获取产品更新指令;
其中,获取的产品更新指令,可以为通过有线方式传输至系统的,也可以为通过无线通讯方式获取的;另外,获取的产品更新指令可以具体为:当前应用程序的升级包信息,以便于对当前应用程序进行数据包升级,也可以为:其他应用程序的数据包信息,以便于对应用程序进行替换更新。
步骤S12、若产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,升级程序更新指令用于指示将初始升级程序更新为目标升级程序,同时,指示将初始应用程序更新为第一目标应用程序;
在电子产品已经被生产完成之后,其内部会存储有应用程序及用于对应用程序进行升级的升级程序,应用程序可以在有更新需求的时候进行更新,而用于对应用程序进行升级的升级程序则不能进行更新,这就导致该电子产品只能用于某一种应用程序所带来的功能,而不能对应用程序的种类进行改变,这就会导致该电子产品只能适合于当前项目,而不能适合于其他项目,在当前项目电子产品数量已经足够时,其多余的电子产品就会造成库存积压,从而导致资源浪费的问题。
而本实施例中通过对升级程序的更新实现电子产品可根据需求进行功能的变化。
产品更新指令可以为升级程序更新指令,也可以为应用程序更新指令。
其中,升级程序更新指令用于指示将初始升级程序更新为目标升级程序,从而实现将初始应用程序变更为第一目标应用程序,在这一情况下,初始应用程序与第一目标应用程序并非是应用程序版本的变化,而是由一种应用程序变更为另一种应用程序,或者,是同一应用程序由适用于第一设备的程序变更为适用于第二设备的程序,即实现了电子产品根据实际需求进行功能更新的情况。
应用程序更新指令用于指示将初始应用程序更新为第二目标应用程序,从而实现在应用程序出现更新版本时,对应用程序的更新。
将初始应用程序替换为升级工具程序,即电子产品中包括初始升级程序及初始应用程序,此时,需要对初始升级程序进行更新,首先,将初始应用程序替换为升级工具程序,以便于对初始升级程序的更新。
在将初始应用程序替换为升级工具程序之前,电子产品中包括初始升级程序originBT及初始应用程序originAPP,在初始应用程序替换为升级工具程序之后,电子产品中包括初始升级程序originBT及升级工具程序specialBT,此时,电子产品中不再存储有应用程序,以便于首先对升级程序的更新,在升级程序更新完成之后,根据更新完成后的升级程序更新应用程序。
步骤S13、依据升级工具程序将初始升级程序更新为目标升级程序;
升级工具程序可以对升级程序进行更新,当需要对升级程序进行更新时,无论此时该升级程序是初始升级程序,还是经过一次或几次更新之后的升级程序,均可以通过对应的升级工具程序对升级程序进行更新。
其中,要实现对升级程序的更新,需要根据产品更新需求确定升级工具程序,即根据升级程序更新指令确定升级工具程序。
当需要将升级程序更新成不同的目标升级程序时,对应的升级程序更新指令会不同,就会导致升级工具程序的不同。在这一过程中,升级程序更新指令可以与初始升级程序无关,仅与目标升级程序相关,也可以与初始升级程序相关。
在将初始应用程序替换为升级工具程序之后,电子产品中包括初始升级程序originBT及升级工具程序specialBT,此时,根据升级工具程序specialBT将初始升级程序originBT更新为目标升级程序designatedBT,此时,电子产品中包括的是目标升级程序designatedBT及升级工具程序specialBT,目标升级程序designatedBT已完成更新。
步骤S14、根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序。
在将初始升级程序更新为目标升级程序后,目标升级程序更新完成,此时,电子产品中包括的是目标升级程序designatedBT及升级工具程序specialBT,由于升级程序是用于对应用程序进行更新的程序,因此,在升级程序已更新为目标升级程序designatedBT之后,可根据目标升级程序designatedBT对应用程序进行更新,由于应用程序处存储的程序为升级工具程序,此时,只需要根据目标升级程序designatedBT将升级工具程序specialBT替换为第一目标应用程序designatedAPP即可。
在替换完成之后,电子产品中包括的是目标升级程序designatedBT及第一目标应用程序designatedAPP,即电子产品中包括的程序均为根据产品更新指令更新后的程序,已实现了对产品的更新。
在本次对产品更新之后,若电子产品仍接收到产品更新指令,则可继续根据产品更新指令对电子产品进行升级程序更新或者应用程序更新,在此,并不对电子产品可更新的次数进行限定。从而实现了在电子产品数量较多,造成产品积压时,可通过产品更新指令对电子产品进行更新,从而使得电子产品能够得到其他应用,避免了资源的浪费。
本实施例公开的数据处理方法,获取产品更新指令,若产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,依据升级工具程序将初始升级程序更新为目标升级程序,根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序。本方案中通过将初始应用程序替换为升级工具程序,以实现通过升级工具程序对初始升级程序的更新,并进一步实现通过目标升级程序对初始应用程序的更新,实现了对已经生产出的产品的内部程序的更新,使得已生产出的产品可适应不同平台、不同厂家或不同功能的需求,提高了产品利用率,降低了资源浪费的问题。
本实施例公开了一种数据处理方法,其流程图如图2所示,包括:
步骤S21、获取产品更新指令;
步骤S22、若产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,升级程序更新指令用于指示将初始升级程序更新为目标升级程序,同时,指示将初始应用程序更新为第一目标应用程序;
步骤S23、依据升级工具程序将初始升级程序更新为目标升级程序;
步骤S24、根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序;
步骤S25、若产品更新指令为应用程序更新指令,则根据应用程序更新指令确定更新数据,获取初始应用程序,根据初始升级程序及更新数据将初始应用程序更新为第二目标应用程序。
若产品更新指令为升级程序更新指令,则根据升级程序更新指令对电子产品中的升级程序进行更新,并在升级程序更新完成后进一步对应用程序进行更新,从而达到对电子产品的其他应用;
若产品更新指令为应用程序更新指令,则无需对升级程序进行更新,只需要根据初始升级程序对应用程序进行更新。
在产品更新指令为应用程序更新指令时,需要根据应用程序更新指令确定待升级的应用程序的更新版本及更新数据,之后,通过初始升级程序根据更新数据将初始应用程序更新为第二目标应用程序,其中,初始应用程序与第二目标应用程序之间仅是应用程序版本的不同,以实现对应用程序版本的更新。
其中,电子产品可进行多次更新,这多次更新并不限定是多次升级程序的更新,还是多次应用程序的更新,或者,升级程序的更新与应用程序的更新都有。
本实施例公开的数据处理方法,获取产品更新指令,若产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,依据升级工具程序将初始升级程序更新为目标升级程序,根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序,若产品更新指令为应用程序更新指令,则根据应用程序更新指令确定更新数据,获取初始应用程序,根据初始升级程序及更新数据将初始应用程序更新为目标应用程序。本方案中通过将初始应用程序替换为升级工具程序,以实现通过升级工具程序对初始升级程序的更新,并进一步实现通过目标升级程序对初始应用程序的更新,实现了对已经生产出的产品的内部程序的更新,使得已生产出的产品可适应不同平台、不同厂家或不同功能的需求,提高了产品利用率,降低了资源浪费的问题;同时,还可以将应用程序更新为最新版本的应用程序,实现了对已经生产出的产品的内部程序版本的更新,提高了产品的适应性,提高了用户体验。
本实施例公开了一种数据处理方法,其流程图如图3所示,包括:
步骤S31、获取产品更新指令;
步骤S32、若产品更新指令为升级程序更新指令,则根据升级程序更新指令确定升级工具程序;
步骤S33、获取初始升级程序及初始应用程序,确定用于存储初始升级程序的升级程序空间及用于存储初始应用程序的应用程序空间;
步骤S34、将应用程序空间中的初始应用程序替换为升级工具程序;
在将初始应用程序替换为升级工具程序之前,电子产品已烧录完成,具体的:划分存储空间分别供升级程序BT、应用程序APP及jump程序使用,分为BT空间、APP空间及jump空间,其示意图如图4所示;按照现有需求生成初始升级程序originBT、初始应用程序originAPP及jump程序,将生成的程序烧录至电子产品中,将烧录完成的电子产品发布给客户或者存入库房。
在电子产品需要进行升级程序的更新时,将初始应用程序originAPP从APP空间中擦掉,并将升级工具程序specialBT写入APP空间中,使APP空间中仅存储升级工具程序specialBT,而不再存储初始应用程序originAPP,其示意图如图5所示,即升级工具程序specialBT与初始应用程序originAPP具有相同的存储空间,但是不能同时存储,并且,APP空间中的升级工具程序specialBT可以对BT空间中的初始升级程序originBT进行程序更新。
依据升级工具程序将初始升级程序更新为目标升级程序,具体的,将初始升级程序originBT从BT空间中擦掉,并将目标升级程序designatedBT写入BT空间中,使BT空间中仅存储目标升级程序designatedBT,而不再存储初始升级程序originBT,其示意图如图6所示,即初始升级程序originBT与目标升级程序designatedBT具有相同的存储空间,但是不能同时存储,并且,BT空间中的目标升级程序designatedBT可以对APP空间中的升级工具程序specialBT进行程序更新。
根据目标升级程序将升级工具程序替换为第一目标应用程序,具体的,将升级工具程序specialBT从APP空间中擦掉,并将第一目标应用程序designatedAPP写入APP空间中,使APP空间中仅存储第一目标应用程序designatedAPP,而不再存储升级工具程序specialBT,其示意图如图7所示,即初始应用程序originAPP、升级工具程序specialBT及第一目标应用程序designatedAPP具有相同的存储空间,但是任意两个程序均不能同时存储,其是按照初始应用程序originAPP、升级工具程序specialBT及第一目标应用程序designatedAPP这样的先后顺序分别存储的。
此时,电子产品中存储的应用程序即为根据升级程序更新指令更新完成的升级程序及应用程序,此时的电子产品与升级前的电子产品可以认为是两个完全不同的电子产品,其功能并不相同或相关,功能也可以相同,但是针对的厂商或应用的设备不同。
在电子产品进行升级的过程中,jump程序为固定程序,无需变动。
步骤S35、依据升级工具程序将初始升级程序更新为目标升级程序;
步骤S36、根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序。
进一步的,在对电子产品进行更新的过程中,无论是对应用程序的更新,还是对升级程序的更新,都有可能出现掉电的情况,在出现掉电时,产品更新停止,当再次上电时,产品更新会继续,从而保证了产品可继续运行。
当检测到上电信息时,则确定升级程序空间的程序是否为有效程序,升级程序空间的程序包括初始升级程序或目标升级程序;若升级程序空间的程序为有效程序,则执行升级程序空间的程序;若升级程序空间的程序为无效程序,且应用程序空间的程序为有效程序,则执行应用程序空间的程序,应用程序空间的程序为初始应用程序或第一目标应用程序。
检测到上电信息,即电子产品在出现掉电的情况后,又继续上电。
在电子产品升级的过程中,有可能出现升级程序失效的情况,也有可能出现应用程序失效的情况,若上电后,始终从某一个固定指针开始运行,若此时该固定指针所指的位置是失效的程序的位置,则不能继续运行,更新失败。因此,在重新上电后,需要判断升级程序空间的程序是否为有效程序,若升级程序空间中的升级程序为有效程序,则从有效程序开始执行,若升级程序空间中的升级程序为无效程序,并且应用程序空间中的程序为有效程序,则从应用程序空间中的程序开始运行,以完成产品的更新。
Jump程序用于在上电后确定从哪一个程序开始进程,具体的,在检测到上电后,由jump程序确定当前是升级程序是否有效,如果升级程序有效,则跳转至升级程序,从升级程序开始执行;如果升级程序为无效程序,则jump程序确定当前应用程序是否有效,如果应用程序为有效程序,则跳转至应用程序,从应用程序开始执行;如果升级程序和应用程序均为有效程序,则jump程序确定跳转至升级程序,升级程序会等待某一预设时长,若在该预设时长内没有接收到停留指令(即某一个特殊CAN报文数据),则跳转到应用程序,如果在该预设时长内接收到该特殊的CAN报文数据,则停留在升级程序。
如果没有jump程序,在程序升级过程中一旦掉电,则无法再次运行。
例如:在电子产品中存储有目标升级程序designatedBT及升级工具程序specialBT,若此时出现掉电并再次上电的情况,检测程序的有效性,可确定升级程序空间BT空间中的升级程序designatedBT为已经完成更新的有效升级程序,而应用程序空间APP空间中的程序为升级工具程序specialBT,并非初始应用程序originAPP,也非第一目标应用程序designatedAPP,而为升级工具程序specialBT的非有效应用程序,因此,在重新上电时,应从升级程序空间中的目标升级程序继续执行,以保证产品更新的顺利进行。
本实施例公开的数据处理方法,获取产品更新指令,若产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,获取初始升级程序及初始应用程序,确定用于存储初始升级程序的升级程序空间及用于存储初始应用程序的应用程序空间,将应用程序空间中的初始应用程序替换为升级工具程序,依据升级工具程序将初始升级程序更新为目标升级程序,根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序。本方案中通过将初始应用程序替换为升级工具程序,以实现通过升级工具程序对初始升级程序的更新,在程序替换的过程中,是在程序空间中进行的,以便于对程序的存储以及程序升级的顺利进行,并进一步实现通过目标升级程序对初始应用程序的更新,实现了对已经生产出的产品的内部程序的更新,使得已生产出的产品可适应不同平台、不同厂家或不同功能的需求,提高了产品利用率,降低了资源浪费的问题。
本实施例公开了一种数据处理系统,其结构示意图如图8所示,包括:
获取单元81,第一替换单元82,第一更新单元83及第二替换单元84。
其中,获取单元81用于获取产品更新指令;
其中,获取单元81获取的产品更新指令,可以为通过有线方式传输至系统的,也可以为通过无线通讯方式获取的;另外,获取单元81获取的产品更新指令可以具体为:当前应用程序的升级包信息,以便于对当前应用程序进行数据包升级,也可以为:其他应用程序的数据包信息,以便于对应用程序进行替换更新。
第一替换单元82用于在产品更新指令为升级程序更新指令时,将初始应用程序替换为升级工具程序,升级程序更新指令用于指示将初始升级程序更新为目标升级程序,同时,指示将初始应用程序更新为第一目标应用程序;
在电子产品已经被生产完成之后,其内部会存储有应用程序及用于对应用程序进行升级的升级程序,应用程序可以在有更新需求的时候进行更新,而用于对应用程序进行升级的升级程序则不能进行更新,这就导致该电子产品只能用于某一种应用程序所带来的功能,而不能对应用程序的种类进行改变,这就会导致该电子产品只能适合于当前项目,而不能适合于其他项目,在当前项目电子产品数量已经足够时,其多余的电子产品就会造成库存积压,从而导致资源浪费的问题。
而本实施例中通过对升级程序的更新实现电子产品可根据需求进行功能的变化。
产品更新指令可以为升级程序更新指令,也可以为应用程序更新指令。
其中,升级程序更新指令用于指示将初始升级程序更新为目标升级程序,从而实现将初始应用程序变更为第一目标应用程序,在这一情况下,初始应用程序与第一目标应用程序并非是应用程序版本的变化,而是由一种应用程序变更为另一种应用程序,或者,是同一应用程序由适用于第一设备的程序变更为适用于第二设备的程序,即实现了电子产品根据实际需求进行功能更新的情况。
应用程序更新指令用于指示将初始应用程序更新为第二目标应用程序,从而实现在应用程序出现更新版本时,对应用程序的更新。
将初始应用程序替换为升级工具程序,即电子产品中包括初始升级程序及初始应用程序,此时,需要对初始升级程序进行更新,首先,将初始应用程序替换为升级工具程序,以便于对初始升级程序的更新。
在将初始应用程序替换为升级工具程序之前,电子产品中包括初始升级程序originBT及初始应用程序originAPP,在初始应用程序替换为升级工具程序之后,电子产品中包括初始升级程序originBT及升级工具程序specialBT,此时,电子产品中不再存储有应用程序,以便于首先对升级程序的更新,在升级程序更新完成之后,根据更新完成后的升级程序更新应用程序。
进一步的,第一替换单元82获取初始升级程序及初始应用程序,将初始应用程序替换为升级工具程序,包括:
第一替换单元82获取初始升级程序及初始应用程序,确定用于存储初始升级程序的升级程序空间及用于存储初始应用程序的应用程序空间,将应用程序空间中的初始应用程序替换为升级工具程序。
在将初始应用程序替换为升级工具程序之前,电子产品已烧录完成,具体的:划分存储空间分别供升级程序BT、应用程序APP及jump程序使用,分为BT空间、APP空间及jump空间,其示意图如图4所示;按照现有需求生成初始升级程序originBT、初始应用程序originAPP及jump程序,将生成的程序烧录至电子产品中,将烧录完成的电子产品发布给客户或者存入库房。
在电子产品需要进行升级程序的更新时,将初始应用程序originAPP从APP空间中擦掉,并将升级工具程序specialBT写入APP空间中,使APP空间中仅存储升级工具程序specialBT,而不再存储初始应用程序originAPP,其示意图如图5所示,即升级工具程序specialBT与初始应用程序originAPP具有相同的存储空间,但是不能同时存储,并且,APP空间中的升级工具程序specialBT可以对BT空间中的初始升级程序originBT进行程序更新。
依据升级工具程序将初始升级程序更新为目标升级程序,具体的,将初始升级程序originBT从BT空间中擦掉,并将目标升级程序designatedBT写入BT空间中,使BT空间中仅存储目标升级程序designatedBT,而不再存储初始升级程序originBT,其示意图如图6所示,即初始升级程序originBT与目标升级程序designatedBT具有相同的存储空间,但是不能同时存储,并且,BT空间中的目标升级程序designatedBT可以对APP空间中的升级工具程序specialBT进行程序更新。
根据目标升级程序将升级工具程序替换为第一目标应用程序,具体的,将升级工具程序specialBT从APP空间中擦掉,并将第一目标应用程序designatedAPP写入APP空间中,使APP空间中仅存储第一目标应用程序designatedAPP,而不再存储升级工具程序specialBT,其示意图如图7所示,即初始应用程序originAPP、升级工具程序specialBT及第一目标应用程序designatedAPP具有相同的存储空间,但是任意两个程序均不能同时存储,其是按照初始应用程序originAPP、升级工具程序specialBT及第一目标应用程序designatedAPP这样的先后顺序分别存储的。
此时,电子产品中存储的应用程序即为根据升级程序更新指令更新完成的升级程序及应用程序,此时的电子产品与升级前的电子产品可以认为是两个完全不同的电子产品,其功能并不相同或相关,功能也可以相同,但是针对的厂商或应用的设备不同。
在电子产品进行升级的过程中,jump程序为固定程序,无需变动。
第一更新单元83用于依据升级工具程序将初始升级程序更新为目标升级程序;
升级工具程序可以对升级程序进行更新,当需要对升级程序进行更新时,无论此时该升级程序是初始升级程序,还是经过一次或几次更新之后的升级程序,均可以通过对应的升级工具程序对升级程序进行更新。
其中,要实现对升级程序的更新,需要根据产品更新需求确定升级工具程序,即根据升级程序更新指令确定升级工具程序。
当需要将升级程序更新成不同的目标升级程序时,对应的升级程序更新指令会不同,就会导致升级工具程序的不同。在这一过程中,升级程序更新指令可以与初始升级程序无关,仅与目标升级程序相关,也可以与初始升级程序相关。
在将初始应用程序替换为升级工具程序之后,电子产品中包括初始升级程序originBT及升级工具程序specialBT,此时,根据升级工具程序specialBT将初始升级程序originBT更新为目标升级程序designatedBT,此时,电子产品中包括的是目标升级程序designatedBT及升级工具程序specialBT,目标升级程序designatedBT已完成更新。
第二替换单元84用于根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序。
在将初始升级程序更新为目标升级程序后,目标升级程序更新完成,此时,电子产品中包括的是目标升级程序designatedBT及升级工具程序specialBT,由于升级程序是用于对应用程序进行更新的程序,因此,在升级程序已更新为目标升级程序designatedBT之后,可根据目标升级程序designatedBT对应用程序进行更新,由于应用程序处存储的程序为升级工具程序,此时,只需要根据目标升级程序designatedBT将升级工具程序specialBT替换为第一目标应用程序designatedAPP即可。
在替换完成之后,电子产品中包括的是目标升级程序designatedBT及第一目标应用程序designatedAPP,即电子产品中包括的程序均为根据产品更新指令更新后的程序,已实现了对产品的更新。
在本次对产品更新之后,若电子产品仍接收到产品更新指令,则可继续根据产品更新指令对电子产品进行升级程序更新或者应用程序更新,在此,并不对电子产品可更新的次数进行限定。从而实现了在电子产品数量较多,造成产品积压时,可通过产品更新指令对电子产品进行更新,从而使得电子产品能够得到其他应用,避免了资源的浪费。
进一步的,还包括:第二更新单元,其中:
第二更新单元用于在产品更新指令为应用程序更新指令时,根据应用程序更新指令确定更新数据,获取初始应用程序,根据升级程序及更新数据将初始应用程序更新为第二目标应用程序。
若产品更新指令为升级程序更新指令,则根据升级程序更新指令对电子产品中的升级程序进行更新,并在升级程序更新完成后进一步对应用程序进行更新,从而达到对电子产品的其他应用;
若产品更新指令为应用程序更新指令,则无需对升级程序进行更新,只需要根据升级程序对应用程序进行更新。
在产品更新指令为应用程序更新指令时,需要根据应用程序更新指令确定待升级的应用程序的更新版本及更新数据,之后,通过升级程序根据更新数据将初始应用程序更新为第二目标应用程序,其中,初始应用程序与第二目标应用程序之间仅是应用程序版本的不同,以实现对应用程序版本的更新。
其中,电子产品可进行多次更新,这多次更新并不限定是多次升级程序的更新,还是多次应用程序的更新,或者,升级程序的更新与应用程序的更新都有。
进一步的,在对电子产品进行更新的过程中,无论是对应用程序的更新,还是对升级程序的更新,都有可能出现掉电的情况,在出现掉电时,产品更新停止,当再次上电时,产品更新会继续,从而保证了产品可继续运行。
当检测到上电信息时,则确定升级程序空间的程序是否为有效程序,升级程序空间的程序包括初始升级程序或目标升级程序;若升级程序空间的程序为有效程序,则执行升级程序空间的程序;若升级程序空间的程序为无效程序,且应用程序空间的程序为有效程序,则执行应用程序空间的程序,应用程序空间的程序为初始应用程序或第一目标应用程序。
检测到上电信息,即电子产品在出现掉电的情况后,又继续上电。
在电子产品升级的过程中,有可能出现升级程序失效的情况,也有可能出现应用程序失效的情况,若上电后,始终从某一个固定指针开始运行,若此时该固定指针所指的位置是失效的程序的位置,则不能继续运行,更新失败。因此,在重新上电后,需要判断升级程序空间的程序是否为有效程序,若升级程序空间中的升级程序为有效程序,则从有效程序开始执行,若升级程序空间中的升级程序为无效程序,并且应用程序空间中的程序为有效程序,则从应用程序空间中的程序开始运行,以完成产品的更新。
Jump程序用于在上电后确定从哪一个程序开始进程,具体的,在检测到上电后,由jump程序确定当前是升级程序是否有效,如果升级程序有效,则跳转至升级程序,从升级程序开始执行;如果升级程序为无效程序,则jump程序确定当前应用程序是否有效,如果应用程序为有效程序,则跳转至应用程序,从应用程序开始执行;如果升级程序和应用程序均为有效程序,则jump程序确定跳转至升级程序,升级程序会等待某一预设时长,若在该预设时长内没有接收到停留指令(即某一个特殊CAN报文数据),则跳转到应用程序,如果在该预设时长内接收到该特殊的CAN报文数据,则停留在升级程序。
如果没有jump程序,在程序升级过程中一旦掉电,则无法再次运行。
例如:在电子产品中存储有目标升级程序designatedBT及升级工具程序specialBT,若此时出现掉电并再次上电的情况,检测程序的有效性,可确定升级程序空间BT空间中的升级程序designatedBT为已经完成更新的有效升级程序,而应用程序空间APP空间中的程序为升级工具程序specialBT,并非初始应用程序originAPP,也非第一目标应用程序designatedAPP,而为升级工具程序specialBT的非有效应用程序,因此,在重新上电时,应从升级程序空间中的目标升级程序继续执行,以保证产品更新的顺利进行。
本实施例公开的数据处理系统,获取产品更新指令,若产品更新指令为升级程序更新指令,则将初始应用程序替换为升级工具程序,依据升级工具程序将初始升级程序更新为目标升级程序,根据目标升级程序将升级工具程序替换为第一目标应用程序,实现将初始应用程序替换为第一目标应用程序。本方案中通过将初始应用程序替换为升级工具程序,以实现通过升级工具程序对初始升级程序的更新,并进一步实现通过目标升级程序对初始应用程序的更新,实现了对已经生产出的产品的内部程序的更新,使得已生产出的产品可适应不同平台、不同厂家或不同功能的需求,提高了产品利用率,降低了资源浪费的问题。
进一步的,若产品更新指令为应用程序更新指令,则根据应用程序更新指令确定更新数据,获取初始应用程序,根据升级程序及更新数据将初始应用程序更新为目标应用程序,通过将应用程序更新为最新版本的应用程序,实现了对已经生产出的产品的内部程序版本的更新,提高了产品的适应性,提高了用户体验。
进一步的,获取初始升级程序及初始应用程序,确定用于存储初始升级程序的升级程序空间及用于存储初始应用程序的应用程序空间,将应用程序空间中的初始应用程序替换为升级工具程序,在程序替换的过程中,是在程序空间中进行的,以便于对程序的存储以及程序升级的顺利进行。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取电子产品更新指令,其中,在所述电子产品中包括初始升级程序及初始应用程序;
若所述产品更新指令为升级程序更新指令,则将所述初始应用程序替换为升级工具程序,所述电子产品中包括所述初始升级程序及所述升级工具程序,其中,所述升级程序更新指令用于指示将所述初始升级程序更新为目标升级程序,同时,指示将所述初始应用程序更新为第一目标应用程序,所述初始应用程序与所述第一目标应用程序并非是应用程序版本的变化,而是由一种应用程序变更为另一种应用程序,或者,是同一应用程序由适用于第一设备的程序变更为适用于第二设备的程序;
依据所述升级工具程序将所述初始升级程序更新为目标升级程序,其中,所述电子产品中包括所述目标升级程序及所述升级工具程序,所述目标升级程序已完成更新;
根据所述目标升级程序将所述升级工具程序替换为所述第一目标应用程序,实现将所述初始应用程序替换为所述第一目标应用程序,其中,所述电子产品包括所述目标升级程序及所述第一目标应用程序,完成对所述电子产品的更新。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述产品更新指令为应用程序更新指令,则根据所述应用程序更新指令确定更新数据;
获取初始应用程序,根据所述初始升级程序及所述更新数据将所述初始应用程序更新为第二目标应用程序。
3.根据权利要求1所述的方法,其特征在于,所述若所述产品更新指令为升级程序更新指令,则将所述初始应用程序替换为升级工具程序,包括:
若所述产品更新指令为升级程序更新指令,则根据所述升级程序更新指令确定升级工具程序;
获取初始升级程序及初始应用程序,将所述初始应用程序替换为所述升级工具程序。
4.根据权利要求3所述的方法,其特征在于,所述获取初始升级程序及初始应用程序,将所述初始应用程序替换为所述升级工具程序,包括:
获取初始升级程序及初始应用程序,确定用于存储所述初始升级程序的升级程序空间及用于存储所述初始应用程序的应用程序空间;
将所述应用程序空间中的初始应用程序替换为所述升级工具程序。
5.根据权利要求4所述的方法,其特征在于,还包括:
若检测到上电信息,则确定升级程序空间的程序是否为有效程序,所述升级程序空间的程序包括初始升级程序或目标升级程序;
若所述升级程序空间的程序为有效程序,则执行所述升级程序空间的程序;
若所述升级程序空间的程序为无效程序,且所述应用程序空间的程序为有效程序,则执行所述应用程序空间的程序,所述应用程序空间的程序为所述初始应用程序或所述第一目标应用程序。
6.一种数据处理系统,其特征在于,包括:获取单元,第一替换单元,第一更新单元及第二替换单元,其中:
所述获取单元用于获取电子产品更新指令,其中,在所述电子产品中包括初始升级程序及初始应用程序;
所述第一替换单元用于在所述产品更新指令为升级程序更新指令时,将初始应用程序替换为升级工具程序,所述电子产品中包括所述初始升级程序及所述升级工具程序,其中,所述升级程序更新指令用于指示将所述初始升级程序更新为目标升级程序,同时,指示将所述初始应用程序更新为第一目标应用程序,所述初始应用程序与所述第一目标应用程序并非是应用程序版本的变化,而是由一种应用程序变更为另一种应用程序,或者,是同一应用程序由适用于第一设备的程序变更为适用于第二设备的程序;
所述第一更新单元用于依据所述升级工具程序将所述初始升级程序更新为目标升级程序,其中,所述电子产品中包括所述目标升级程序及所述升级工具程序,所述目标升级程序已完成更新;
所述第二替换单元用于根据所述目标升级程序将所述升级工具程序替换为所述第一目标应用程序,实现将所述初始应用程序替换为所述第一目标应用程序,其中,所述电子产品包括所述目标升级程序及所述第一目标应用程序,完成对所述电子产品的更新。
7.根据权利要求6所述的系统,其特征在于,还包括:第二更新单元,其中:
所述第二更新单元用于在所述产品更新指令为应用程序更新指令时,根据所述应用程序更新指令确定更新数据,获取初始应用程序,根据所述初始升级程序及所述更新数据将所述初始应用程序更新为第二目标应用程序。
8.根据权利要求6所述的系统,其特征在于,所述第一替换单元具体用于:
若所述产品更新指令为升级程序更新指令,则根据所述升级程序更新指令确定升级工具程序,获取初始升级程序及初始应用程序,将所述初始应用程序替换为所述升级工具程序。
9.根据权利要求8所述的系统,其特征在于,所述第一替换单元获取初始升级程序及初始应用程序,将所述初始应用程序替换为所述升级工具程序,包括:
所述第一替换单元获取初始升级程序及初始应用程序,确定用于存储所述初始升级程序的升级程序空间及用于存储所述初始应用程序的应用程序空间,将所述应用程序空间中的初始应用程序替换为所述升级工具程序。
10.根据权利要求9所述的系统,其特征在于,还包括:判断单元,其中:
所述判断单元用于在检测到上电信息时,确定升级程序空间的程序是否为有效程序,所述升级程序空间的程序包括初始升级程序或目标升级程序,若所述升级程序空间的程序为有效程序,则执行所述升级程序空间的程序,若所述升级程序空间的程序为无效程序,且所述应用程序空间的程序为有效程序,则执行所述应用程序空间的程序,所述应用程序空间的程序为所述初始应用程序或所述第一目标应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910250102.1A CN109947454B (zh) | 2019-03-29 | 2019-03-29 | 一种数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910250102.1A CN109947454B (zh) | 2019-03-29 | 2019-03-29 | 一种数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947454A CN109947454A (zh) | 2019-06-28 |
CN109947454B true CN109947454B (zh) | 2022-07-15 |
Family
ID=67012969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910250102.1A Active CN109947454B (zh) | 2019-03-29 | 2019-03-29 | 一种数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947454B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406955A (zh) * | 2016-09-22 | 2017-02-15 | 深圳市金溢科技股份有限公司 | RSU设备bootloader程序升级的方法、装置 |
WO2017045518A1 (zh) * | 2015-09-18 | 2017-03-23 | 北京金山安全软件有限公司 | 一种应用程序传输方法及装置 |
CN107632862A (zh) * | 2017-09-20 | 2018-01-26 | 江苏兆能电子有限公司 | 一种汽车电子控制单元ecu的多级启动加载方法 |
CN109213476A (zh) * | 2018-08-14 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 一种安装包的生成方法、计算机可读存储介质及终端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2993578A1 (en) * | 2014-09-02 | 2016-03-09 | Gemalto M2M GmbH | Method for adapting firmware of a wireless communication device |
-
2019
- 2019-03-29 CN CN201910250102.1A patent/CN109947454B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045518A1 (zh) * | 2015-09-18 | 2017-03-23 | 北京金山安全软件有限公司 | 一种应用程序传输方法及装置 |
CN106406955A (zh) * | 2016-09-22 | 2017-02-15 | 深圳市金溢科技股份有限公司 | RSU设备bootloader程序升级的方法、装置 |
CN107632862A (zh) * | 2017-09-20 | 2018-01-26 | 江苏兆能电子有限公司 | 一种汽车电子控制单元ecu的多级启动加载方法 |
CN109213476A (zh) * | 2018-08-14 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 一种安装包的生成方法、计算机可读存储介质及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109947454A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933348B (zh) | 一种电子控制单元中Bootloader的更新方法和装置 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
EP3410296B1 (en) | Starting method and device for embedded device | |
JP5623593B2 (ja) | ベーシック・インプット/アウトプット・システムを同時に更新するためのラックおよびその方法 | |
US8839199B2 (en) | Programmable controller system and development system | |
US20050060528A1 (en) | Booting and boot code update method and system thereof | |
CN107305553B (zh) | 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统 | |
JP2006331394A (ja) | プログラムバージョン管理方法、プログラム及び印刷システム | |
CN101126920A (zh) | 实现固化程序在线升级的方法和装置 | |
JPWO2009078285A1 (ja) | 無線端末、無線端末の不揮発性メモリ、および診断情報のフェイルセーフ保存方法 | |
CN107566169B (zh) | 一种基于openwrt的固件升级方法及路由器 | |
CN108536464A (zh) | 一种应用程序的热修复方法及装置 | |
CN110580167A (zh) | 一种系统升级方法、智能设备及服务器 | |
CN104951348B (zh) | 一种可中断的recovery升级方法及装置 | |
JPWO2019207729A1 (ja) | 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム | |
JP6879625B2 (ja) | プログラマブルコントローラ、管理装置および制御システム | |
US20160321057A1 (en) | Electronic apparatus | |
CN105183580A (zh) | 一种引导程序的存储方法、故障恢复方法及设备 | |
CN109947454B (zh) | 一种数据处理方法及系统 | |
CN116679962A (zh) | 一种基本输入输出系统固件更新方法、装置、设备、介质 | |
JP5084853B2 (ja) | ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム | |
CN116126379A (zh) | 一种bios固件升级方法、装置、设备及存储介质 | |
CN113721959A (zh) | 一种信息处理方法、装置及电子设备 | |
JP2007172200A (ja) | ソフトウェア更新システム | |
CN115686554A (zh) | 一种BootLoader程序升级方法及装置 |
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 | ||
CB02 | Change of applicant information |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Applicant after: Beijing Jingwei Hengrun Technology Co.,Ltd. Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |