公开/公告号CN112416388A
专利类型发明专利
公开/公告日2021-02-26
原文格式PDF
申请/专利权人 联创汽车电子有限公司;
申请/专利号CN202011245544.6
申请日2020-11-10
分类号G06F8/65(20180101);G06F8/71(20180101);G06F8/60(20180101);
代理机构31211 上海浦一知识产权代理有限公司;
代理人焦天雷
地址 201206 上海市浦东新区金吉路33弄4号全幢
入库时间 2023-06-19 10:02:03
技术领域
本发明涉及电子技术领域,特别是涉及一种智能移动终端OTA(Over The Air,空中下载技术)软件升级方法。本发明还涉及一种智能移动终端OTA(Over The Air,空中下载技术)软件升级控制系统。
背景技术
随着物联网技术的快速发展,智能移动终端产品已经成为人们生活中必不可少的物品,但是由于技术的快速发展,往往需要不断更新产品软件以满足用户需求。OTA(OverThe Air,空中下载技术)由于其突破性的理念应运而生,它可以通过网络的空中接口对智能移动终端进行远程管理,用户可以通过下载差分升级包或全量升级包完成终端设备软件更新。
现有技术中,在制作全量升级包时,往往是对原始版本直接进行打包,并且将整个升级包上传至OTA服务器,升级包文件较大,对智能移动终端内存和存储空间要求较高,增大了智能移动终端生产商的成本,不利于物联网技术的发展和推广。
发明内容
在发明内容部分中引入了一系列简化形式的概念,该简化形式的概念均为本领域现有技术简化,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
本发明要解决的技术问题是提供一种基于区块链技术能降低智能移动终端软件全量升级时,服务器端和终端所需存储空间和内存的智能移动终端软件升级方法。
本发明要解决的另一技术问题是提供一种于区块链技术能降低智能移动终端软件全量升级时,服务器端和终端所需存储空间和内存的智能移动终端软件升级控制系统。
为解决上述技术问题,本发明提供一种智能移动终端软件升级方法,包括以下步骤:
S1,制作待升级软件各升级分区的全量升级包;
S2,根据各升级分区的全量升级包之间的唯一关系标识,将各升级分区的全量升级包部署在不同智能移动终端服务器的检索单元;
S3,移动设备通过待升级设备唯一标识(包括但不限于IMEI、SN、VIN)和待升级分区区块信息请求检索并按顺逐一下载对应升级分区全量升级包,根据下载升级分区全量升级包按顺序逐一执行待升级分区升级。
可选择的,进一步改进所述的智能移动终端软件升级方法,步骤S1包括以下子步骤;
S101,获取待制作分区区块信息,如果获取的分区区块信息为空则执行S102,如果不为空则执行步骤S203。
S102,获取待制作版本目标软件版本号,计算目标软件版本号和第一分区信息的Hash值,并与kernel分区信息组成待制作升级分区区块信息;
S103,将获取到的分区区块信息与待制作分区信息生成Hash值,并与待升级分区信息组成待升级分区区块信息生成待制作分区全量升级包,将待制作分区升级包重新命名为分区区块信息,并判断是否完成所有待制作分区全量升级包制作,如果不是则执行步骤S101,如果是则执行步骤S104;
S104,结束升级分区全量升级包制作。
可选择的,进一步改进所述的智能移动终端软件升级方法,kernel分区信息包括但不限于分区名称。
可选择的,进一步改进所述的智能移动终端软件升级方法,步骤S2包括以下子步骤;
S201,如果升级请求接口请求检索可升级软件版本则执行步骤S202,如果升级请求接口请求检索分区全量升级包则执行步骤S203;
S202,根据请求接口中携带的设备唯一标识和可升级软件版本检索可升级的目标软件版本号,并将检索结果返回至请求移动终端设备;
S203,根据分区区块信息检索服务器中与之匹配的升级分区全量升级包文件名称,并将下载地址返回至请求移动终端设备。
可选择的,进一步改进所述的智能移动终端软件升级方法,请求接口包括但不限于现有网络传输协议。
可选择的,进一步改进所述的智能移动终端软件升级方法,步骤S3包括以下子步骤;
S301,获取待升级分区区块信息,如果当前设备存储分区区块信息为空则执行步骤S302,如果不为空则执行步骤S303;
步骤S302,获取设备唯一标识和当前软件版本号,并携带此信息请求检索,检索反馈供升级的目标软件版本号,计算软件版本号和第一分区信息的Hash值,并与kernel分区信息组成待升级分区区块信息;
步骤S303,将获取到的分区区块信息与待升级信息重新生成Hash值,并与待升级分区信息组成待升级分区区块信息;
步骤S304,根据待升级分区区块信息请求检索,检索返回分区全量升级包下载路径,根据下载路径下载对应待升级分区全量升级包;
步骤S305,通过分区全量升级包完成待升级分区的软件版本,并判断是否已经完成所有待升级分区的升级动作,如果是则执行步骤S306,如果不是则执行步骤S305;
步骤S306,将升级完成的分区区块信息更新进智能移动终端存储区,并执行步骤S301;
步骤S307,清空待升级分区区块信息,切换智能移动终端运行系统标志,并重启智能移动终端设备。
为解决上述技术问题,本发明提供一种智能移动终端软件升级控制系统,包括:
制作单元,其用于制作待升级软件各升级分区的全量升级包,并将各升级分区的全量升级包部署在不同智能移动终端服务器的检索单元;
检索单元,其用于根据设备唯一标识和当前软件版本号检索反馈供升级的目标软件版本号,根据待升级分区区块信息请求检索,检索返回分区全量升级包下载路径,根据下载路径下载对应待升级分区全量升级包;
升级单元,设置于各智能移动终端,其用于通过待升级设备唯一标识和待升级分区区块信息请求检索并按顺逐一下载对应升级分区全量升级包,根据下载升级分区全量升级包按顺序逐一执行待升级分区升级。
可选择的,进一步改进所述的智能移动终端软件升级控制系统,制作单元采用以下步骤制作升级包;
S101,获取待制作分区区块信息,如果获取的分区区块信息为空则执行S102,如果不为空则执行步骤S203。
S102,获取待制作版本目标软件版本号,计算目标软件版本号和第一分区信息的Hash值,并与kernel分区信息组成待制作升级分区区块信息;
S103,将获取到的分区区块信息与待制作分区信息生成Hash值,并与待升级分区信息组成待升级分区区块信息生成待制作分区全量升级包,将待制作分区升级包重新命名为分区区块信息,并判断是否完成所有待制作分区全量升级包制作,如果不是则执行步骤S101,如果是则执行步骤S104;
S104,结束升级分区全量升级包制作。
可选择的,进一步改进所述的智能移动终端软件升级控制系统,kernel分区信息包括但不限于分区名称。
可选择的,进一步改进所述的智能移动终端软件升级控制系统,检索单元采用以下步骤检索升级包;
S201,如果升级请求接口请求检索可升级软件版本则执行步骤S202,如果升级请求接口请求检索分区全量升级包则执行步骤S203;
S202,根据请求接口中携带的设备唯一标识和可升级软件版本检索可升级的目标软件版本号,并将检索结果返回至请求移动终端设备;
S203,根据分区区块信息检索服务器中与之匹配的升级分区全量升级包文件名称,并将下载地址返回至请求移动终端设备。
可选择的,进一步改进所述的智能移动终端软件升级控制系统,请求接口包括但不限于现有网络传输协议。
可选择的,进一步改进所述的智能移动终端软件升级控制系统,升级单元采用以下步骤执行升级;
S301,升级单元获取待升级分区区块信息,如果当前设备存储分区区块信息为空则执行步骤S302,如果不为空则执行步骤S303;
步骤S302,升级单元获取设备唯一标识和当前软件版本号,并携带此信息请求检索单元,检索单元反馈供升级的目标软件版本号,计算软件版本号和第一分区信息的Hash值,并与kernel分区信息组成待升级分区区块信息;
步骤S303,升级单元将获取到的分区区块信息与待升级信息重新生成Hash值,并与待升级分区信息组成待升级分区区块信息;
步骤S304,升级单元根据待升级分区区块信息请求检索单元,检索单元返回分区全量升级包下载路径,根据下载路径下载对应待升级分区全量升级包;
步骤S305,升级单元通过分区全量升级包完成待升级分区的软件版本,并判断是否已经完成所有待升级分区的升级动作,如果是则执行步骤S306,如果不是则执行步骤S305;
步骤S306,升级单元将升级完成的分区区块信息更新进智能移动终端存储区,并执行步骤S301;
步骤S307,升级单元清空待升级分区区块信息,切换智能移动终端运行系统标志,并重启智能移动终端设备。
本发明方法通过使用区块链技术生成软件版本各分区对应的全量升级包,并将其部署在检索单元,升级单元通过携带设备唯一标识和待升级分区的区块信息(应用区块链技术生成的分区信息)请求升级,检索单元反馈检索到的对应分区全量升级包至升级单元,升级单元使用分区全量升级包完成对应分区升级动作,并按照此方法依次完成所有待升级分区的升级。本发明可以有效的降低全量升级包的大小,减小智能移动终端的硬件成本,极大的降低了在下载升级包时终端所需的存储空间。
传统的全量升级方法是将软件版本整体进行打包上传部署至OTA服务器,在下载升级时需要将整个升级包完整下载并且解压之后才可以完成软件版本更新动作。例如,当待升级终端软件存在四个升级分区,大小分别为10M,50M,20M,30M,则使用现有技术进行全量升级所需的最小FLASH空间为110M(每个分区升级文件大小总和)。而本发明的文件升级包是独立存在的,每个分区的升级文件都是一个独立完整的升级包,并且之间存在唯一的标识关系将所有升级包文件关联起来(基于区块链技术实现)不可被篡改,在升级时不需要将所有分区的升级文件同时下载完成之后再进行升级安装。基于制作单元制作的升级包,升级单元按照步骤S303、S304、S305顺序“链式”升级每个分区数据,通过当前升级分区区块信息去检索、下载、升级下一待升级分区,则所需的最小FLASH空间为50M(最大分区升级文件大小)。当待升级终端软件存在的待升级分区越多,使用本方法可以节省的FLASH空间越多。
此外,使用本发明方法可以将不同的各个分区升级包分布式的部署在不同的OTA服务器,降低了服务器的并发下载负荷,降低了智能终端产品的硬件研发成本,对于推广物联网技术有一定的益处。
附图说明
本发明附图旨在示出根据本发明的特定示例性实施例中所使用的方法、结构和/或材料的一般特性,对说明书中的描述进行补充。然而,本发明附图是未按比例绘制的示意图,因而可能未能够准确反映任何所给出的实施例的精确结构或性能特点,本发明附图不应当被解释为限定或限制由根据本发明的示例性实施例所涵盖的数值或属性的范围。下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明智能移动终端软件升级方法流程示意图。
图2是图1中步骤S1的子步骤流程示意图。
图3是图1中步骤S2的子步骤流程示意图。
图4是图1中步骤S3的子步骤流程示意图。
图5是本发明智能移动终端软件升级控制系统框架示意图。
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容充分地了解本发明的其他优点与技术效果。本发明还可以通过不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点加以应用,在没有背离发明总的设计思路下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。本发明下述示例性实施例可以多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的具体实施例。应当理解的是,提供这些实施例是为了使得本发明的公开彻底且完整,并且将这些示例性具体实施例的技术方案充分传达给本领域技术人员。
这里所使用的术语仅是为了描述具体实施例,而非意图限制根据本发明的示例性实施例。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组合。
第一实施例;
如图1所示,本发明提供一种智能移动终端软件升级方法,包括以下步骤:
S1,制作待升级软件各升级分区的全量升级包;
S2,根据各升级分区的全量升级包之间的唯一关系标识,将各升级分区的全量升级包部署在不同智能移动终端服务器的检索单元;
S3,移动设备通过待升级设备唯一标识和待升级分区区块信息请求检索并按顺逐一下载对应升级分区全量升级包,根据下载升级分区全量升级包按顺序逐一执行待升级分区升级。
本发明可以将不同的各个分区升级包分布式的部署在不同的OTA服务器,降低了服务器的并发下载负荷,降低了智能终端产品的硬件研发成本。
第二实施例;
本发明第二实施例用于提供一种上述第一实施例步骤S1的一种可行实施方式,但步骤S1并不限于下述实施方式,本领域技术人员可以在该第二实施例的基础上,进行适当的修改(例如改变执行顺序/标识/参数等)形成另外一种实施方式,在本发明设计思路下,本领域人员可以知道,使用代替本发明所采用执行顺序/标识/参数等通过适当修改也能解决本发明所要解决技术问题,达到本发明所实现技术效果而形成的技术方案也应视为本发明的保护范围;
如图2所示,该步骤S1包括以下子步骤;
S101,获取待制作分区区块信息,如果获取的分区区块信息为空则执行S102,如果不为空则执行步骤S203。
S102,获取待制作版本目标软件版本号,计算目标软件版本号和第一分区信息的Hash值,并与kernel分区信息组成待制作升级分区区块信息;
S103,将获取到的分区区块信息与待制作分区信息生成Hash值,并与待升级分区信息组成待升级分区区块信息生成待制作分区全量升级包,将待制作分区升级包重新命名为分区区块信息,并判断是否完成所有待制作分区全量升级包制作,如果不是则执行步骤S101,如果是则执行步骤S104;
S104,结束升级分区全量升级包制作。
其中,kernel分区信息包括但不限于分区名称。
第三实施例;
本发明第三实施例用于提供一种上述第一实施例步骤S2的一种可行实施方式,但步骤S2并不限于下述实施方式,本领域技术人员可以在该第三实施例的基础上,进行适当的修改(例如改变执行顺序/标识/参数等)形成另外一种实施方式,在本发明设计思路下,本领域人员可以知道,使用代替本发明所采用执行顺序/标识/参数等通过适当修改也能解决本发明所要解决技术问题,达到本发明所实现技术效果而形成的技术方案也应视为本发明的保护范围;
如图3所示,该步骤S2包括以下子步骤;
S201,如果升级请求接口请求检索可升级软件版本则执行步骤S202,如果升级请求接口请求检索分区全量升级包则执行步骤S203;
S202,根据请求接口中携带的设备唯一标识和可升级软件版本检索可升级的目标软件版本号,并将检索结果返回至请求移动终端设备;
S203,根据分区区块信息检索服务器中与之匹配的升级分区全量升级包文件名称,并将下载地址返回至请求移动终端设备。
其中,请求接口包括但不限于现有网络传输协议。
第四实施例;
本发明第四实施例用于提供一种上述第一实施例步骤S3的一种可行实施方式,但步骤S3并不限于下述实施方式,本领域技术人员可以在该第四实施例的基础上,进行适当的修改(例如改变执行顺序/标识/参数等)形成另外一种实施方式,在本发明设计思路下,本领域人员可以知道,使用代替本发明所采用执行顺序/标识/参数等通过适当修改也能解决本发明所要解决技术问题,达到本发明所实现技术效果而形成的技术方案也应视为本发明的保护范围;
如图4所示,该步骤S3包括以下子步骤;
S301,获取待升级分区区块信息,如果当前设备存储分区区块信息为空则执行步骤S302,如果不为空则执行步骤S303;
步骤S302,获取设备唯一标识和当前软件版本号,并携带此信息请求检索,检索反馈供升级的目标软件版本号,计算软件版本号和第一分区信息的Hash值,并与kernel分区信息组成待升级分区区块信息;
步骤S303,将获取到的分区区块信息与待升级信息重新生成Hash值,并与待升级分区信息组成待升级分区区块信息;
步骤S304,根据待升级分区区块信息请求检索,检索返回分区全量升级包下载路径,根据下载路径下载对应待升级分区全量升级包;
步骤S305,通过分区全量升级包完成待升级分区的软件版本,并判断是否已经完成所有待升级分区的升级动作,如果是则执行步骤S306,如果不是则执行步骤S305;
步骤S306,将升级完成的分区区块信息更新进智能移动终端存储区,并执行步骤S301;
步骤S307,清空待升级分区区块信息,切换智能移动终端运行系统标志,并重启智能移动终端设备。
第五实施例;
如图5所示,本发明提供一种智能移动终端软件升级控制系统,包括:
制作单元,其用于制作待升级软件各升级分区的全量升级包,并将各升级分区的全量升级包部署在不同智能移动终端服务器的检索单元;
检索单元,其用于根据设备唯一标识和当前软件版本号检索反馈供升级的目标软件版本号,根据待升级分区区块信息请求检索,检索返回分区全量升级包下载路径,根据下载路径下载对应待升级分区全量升级包;
升级单元,设置于各智能移动终端,其用于通过待升级设备唯一标识和待升级分区区块信息请求检索并按顺逐一下载对应升级分区全量升级包,根据下载升级分区全量升级包按顺序逐一执行待升级分区升级。
第六实施例;
本发明第六实施例用于提供一种上述第五实施例制作单元的一种可行实施方式,但制作单元制作升级包的过程并不限于下述实施方式,本领域技术人员可以在该第六实施例的基础上,进行适当的修改(例如改变执行顺序/标识/参数等)形成另外一种实施方式,在本发明设计思路下,本领域人员可以知道,使用代替本发明所采用执行顺序/标识/参数等通过适当修改也能解决本发明所要解决技术问题,达到本发明所实现技术效果而形成的技术方案也应视为本发明的保护范围;
该制作单元采用以下步骤制作升级包;
S101,获取待制作分区区块信息,如果获取的分区区块信息为空则执行S102,如果不为空则执行步骤S203。
S102,获取待制作版本目标软件版本号,计算目标软件版本号和第一分区信息的Hash值,并与kernel分区信息组成待制作升级分区区块信息;
S103,将获取到的分区区块信息与待制作分区信息生成Hash值,并与待升级分区信息组成待升级分区区块信息生成待制作分区全量升级包,将待制作分区升级包重新命名为分区区块信息,并判断是否完成所有待制作分区全量升级包制作,如果不是则执行步骤S101,如果是则执行步骤S104;
S104,结束升级分区全量升级包制作。
其中,kernel分区信息包括但不限于分区名称。
第七实施例;
本发明第七实施例用于提供一种上述第五实施例检索单元的一种可行实施方式,但检索单元的检索过程并不限于下述实施方式,本领域技术人员可以在该第七实施例的基础上,进行适当的修改(例如改变执行顺序/标识/参数等)形成另外一种实施方式,在本发明设计思路下,本领域人员可以知道,使用代替本发明所采用执行顺序/标识/参数等通过适当修改也能解决本发明所要解决技术问题,达到本发明所实现技术效果而形成的技术方案也应视为本发明的保护范围;
该检索单元采用以下步骤检索升级包;
S201,如果升级请求接口请求检索可升级软件版本则执行步骤S202,如果升级请求接口请求检索分区全量升级包则执行步骤S203;
S202,根据请求接口中携带的设备唯一标识和可升级软件版本检索可升级的目标软件版本号,并将检索结果返回至请求移动终端设备;
S203,根据分区区块信息检索服务器中与之匹配的升级分区全量升级包文件名称,并将下载地址返回至请求移动终端设备。
其中,请求接口包括但不限于现有网络传输协议。
第八实施例;
本发明第八实施例用于提供一种上述第五实施例检索单元的一种可行实施方式,但升级单元的升级过程并不限于下述实施方式,本领域技术人员可以在该第八实施例的基础上,进行适当的修改(例如改变执行顺序/标识/参数等)形成另外一种实施方式,在本发明设计思路下,本领域人员可以知道,使用代替本发明所采用执行顺序/标识/参数等通过适当修改也能解决本发明所要解决技术问题,达到本发明所实现技术效果而形成的技术方案也应视为本发明的保护范围;
该升级单元采用以下步骤执行升级;
S301,升级单元获取待升级分区区块信息,如果当前设备存储分区区块信息为空则执行步骤S302,如果不为空则执行步骤S303;
步骤S302,升级单元获取设备唯一标识和当前软件版本号,并携带此信息请求检索单元,检索单元反馈供升级的目标软件版本号,计算软件版本号和第一分区信息的Hash值,并与kernel分区信息组成待升级分区区块信息;
步骤S303,升级单元将获取到的分区区块信息与待升级信息重新生成Hash值,并与待升级分区信息组成待升级分区区块信息;
步骤S304,升级单元根据待升级分区区块信息请求检索单元,检索单元返回分区全量升级包下载路径,根据下载路径下载对应待升级分区全量升级包;
步骤S305,升级单元通过分区全量升级包完成待升级分区的软件版本,并判断是否已经完成所有待升级分区的升级动作,如果是则执行步骤S306,如果不是则执行步骤S305;
步骤S306,升级单元将升级完成的分区区块信息更新进智能移动终端存储区,并执行步骤S301;
步骤S307,升级单元清空待升级分区区块信息,切换智能移动终端运行系统标志,并重启智能移动终端设备。
除非另有定义,否则这里所使用的全部术语(包括技术术语和科学术语)都具有与本发明所属领域的普通技术人员通常理解的意思相同的意思。还将理解的是,除非这里明确定义,否则诸如在通用字典中定义的术语这类术语应当被解释为具有与它们在相关领域语境中的意思相一致的意思,而不以理想的或过于正式的含义加以解释。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
机译: 确认IP电话的软件升级信息的方法,尤其是有关在升级软件版本时在IP电话的LCD窗口上连续显示软件升级信息的方法
机译: 用于部分升级无线通信终端软件的方法,尤其是与比较当前已在无线通信终端中安装的软件和要新升级的软件有关的方法,以及仅升级不同的部件
机译: 在移动通信终端中使用红外线升级软件的方法,包括步骤;传输端PC传输要通过红外端口升级的软件数据包,然后通过闪存写算法传输接收端的终端升级软件