一种基于空中下载技术的升级方法及系统与流程

文档序号:32746055发布日期:2022-12-30 22:11阅读:145来源:国知局
一种基于空中下载技术的升级方法及系统与流程

1.本发明涉及空中下载(over-the-air,ota)技术,尤其涉及一种基于空中下载技术的升级方法、一种基于空中下载技术的升级系统,以及一种计算机可读存储介质。


背景技术:

2.空中下载(ota)技术,是一种通过移动通信的空中接口实现对移动终端设备及sim卡数据进行远程管理的技术。经过公网多年的应用与发展,空中下载(ota)技术已经十分成熟。网络运营商不仅能够通过ota技术实现sim卡的远程管理,还能提供移动化的新业务下载功能。
3.现有车辆的车机系统主要基于安卓(android)系统来构建,并自带对应的ota功能。该安卓系统自带的ota功能主要基于ota差分技术来实现,存在文件压缩率低的缺陷。该缺陷导致现有安卓系统自带的ota功能普遍存在流量耗费大、下载速度慢,以及无法支持大文件更新的问题。进一步地,现有车机系统的ota功能仅支持安卓系统,而无法支持qnx、linux等常见的操作系统,对车机系统的构建方式存在较大的限制,不利于ota功能在安装不同操作系统的车辆上的推广。
4.为了解决现有技术中存在的上述问题,本领域亟需一种空中下载(ota)技术,用于在安卓、qnx、linux等操作系统上,通过提升更新文件的压缩率以降低更新系统耗费的流量、提升下载速度,并支持大文件更新的功能,从而促进ota功能在不同操作系统的车辆上的推广。


技术实现要素:

5.以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之前序。
6.为了解决现有技术中存在的上述问题,本发明提供了一种基于空中下载技术的升级方法、一种基于空中下载技术的升级系统,以及一种计算机可读存储介质,能够在安卓、qnx、linux等操作系统上,通过提升更新文件的压缩率以降低更新系统耗费的流量、提升下载速度,并支持大文件更新的功能,从而促进ota功能在不同操作系统的车辆上的推广。
7.具体来说,本发明的第一方面提供的上述基于空中下载技术的升级方法包括以下步骤:判断云端是否存储有用于更新设备端文件的更新文件;响应于所述云端存储有所述更新文件的判断结果,使用第一zstd压缩工具对所述设备端文件及所述更新文件进行差分比较,以生成差分文件;以及使用第二zstd压缩工具根据所述差分文件对所述设备端文件进行差分还原,以将所述设备端文件更新为所述更新文件。通过实施该升级方法,本发明能够在安卓系统、qnx系统及linux系统等系统上,通过提升更新文件的压缩率以降低更新系统耗费的流量、提升下载速度,并支持大文件更新的功能,从而促进ota功能在不同系统车
辆上的推广。
8.根据本发明的第二方面提供的上述基于空中下载技术的升级系统包括:云端,被配置为:判断所述云端是否存储有用于更新设备端文件的更新文件,其中,所述设备端文件存储于设备端;响应于所述云端存储有所述更新文件的判断结果,使用第一zstd压缩工具对所述设备端文件及所述更新文件进行差分比较,以生成差分文件;以及向所述设备端提供所述差分文件;以及所述设备端,被配置为:从所述云端获取所述差分文件;以及使用第二zstd压缩工具根据所述差分文件对所述设备端文件进行差分还原,以将所述设备端文件更新为所述更新文件。通过执行配置于所述云端及所述设备端的计算机指令,该升级系统能够在安卓系统、qnx系统及linux系统等系统上,通过提升更新文件的压缩率以降低更新系统耗费的流量、提升下载速度,并支持大文件更新的功能,从而促进ota功能在不同系统车辆上的推广。
9.根据本发明的第三方面提供的上述计算机可读存储介质,其上存储有计算机指令。所述计算机指令被处理器执行时,执行本发明的第二方面提供的上述的升级系统中的设备端和/或云端的配置。通过执行配置于所述云端和/或所述设备端的计算机指令,该计算机可读存储介质能够独立或配合另一对应的计算机可读存储介质,在安卓系统、qnx系统及linux系统等系统上,通过提升更新文件的压缩率以降低更新系统耗费的流量、提升下载速度,并支持大文件更新的功能,从而促进ota功能在不同系统车辆上的推广。
附图说明
10.在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
11.图1示出了根据本发明实施例提供的基于空中下载技术的升级方法的流程示意图。
12.图2示出了根据本发明实施例提供的基于空中下载技术的升级系统的原理示意图。
13.图3示出了根据本发明实施例提供的判断云端是否存储有设备端文件的更新文件的流程示意图。
14.附图标记:
15.101~103
ꢀꢀꢀꢀꢀꢀ
步骤;
16.10
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
云端;
17.20
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
设备端。
具体实施方式
18.以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合优选实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细
节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。
19.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
20.另外,在以下的说明中所使用的“上”、“下”、“左”、“右”、“顶”、“底”、“水平”、“垂直”应被理解为该段以及相关附图中所绘示的方位。此相对性的用语仅是为了方便说明之用,其并不代表其所叙述的装置需以特定方位来制造或运作,因此不应理解为对本发明的限制。
21.能理解的是,虽然在此可使用用语“第一”、“第二”、“第三”等来叙述各种组件、区域、层和/或部分,这些组件、区域、层和/或部分不应被这些用语限定,且这些用语仅是用来区别不同的组件、区域、层和/或部分。因此,以下讨论的第一组件、区域、层和/或部分可在不偏离本发明一些实施例的情况下被称为第二组件、区域、层和/或部分。
22.如上所述,现有车辆的车机系统主要基于安卓(android)系统来构建,并自带对应的空中下载(over-the-air,ota)功能。该安卓系统自带的ota功能主要基于ota差分技术来实现,存在文件压缩率低的缺陷。该缺陷导致现有安卓系统自带的ota功能普遍存在流量耗费大、下载速度慢,以及无法支持大文件更新的问题。进一步地,现有车机系统的ota功能仅支持安卓系统,而无法支持qnx、linux等常见的操作系统,对车机系统的构建方式存在较大的限制,不利于ota功能在安装不同操作系统的车辆上的推广。
23.为了解决现有技术中存在的上述问题,本发明提供了一种基于空中下载技术的升级方法、一种基于空中下载技术的升级系统,以及一种计算机可读存储介质,能够在安卓、qnx、linux等操作系统上,通过提升更新文件的压缩率以降低更新系统耗费的流量、提升下载速度,并支持大文件更新的功能,从而促进ota功能在不同操作系统的车辆上的推广。
24.在一些非限制性的实施例中,本发明的第一方面提供的上述基于空中下载技术的升级方法,可以由本发明的第二方面提供的上述基于空中下载技术的升级系统来实施。具体来说,该升级系统包括云端和设备端。该云端和该设备端可以分别配置有独立的处理器及独立的存储器,或者分别配置有独立的处理器并共享同一个存储器。该存储器包括但不限于本发明的第三方面提供的上述计算机可读存储介质,其上存储有计算机指令。
25.针对云端和设备端分别配置独立处理器及独立存储器的实施例,云端处理器可以执行云端存储器上存储的计算机指令以执行云端的配置(configuration),设备端处理器可以执行设备端存储器上存储的计算机指令以执行设备端的配置。两个处理器及两个存储器可以相互配合,以实施本发明的第一方面提供的上述基于空中下载技术的升级方法。
26.针对云端和设备端分别配置独立处理器并共享同一存储器的实施例,该共享的存储器可以被配置于云端。云端处理器可以执行该共享存储器上存储的部分计算机指令以执行云端的配置,而设备端处理器可以执行该共享存储器上存储的另一部分计算机指令以执行设备端的配置。两个处理器及一个共享的存储器可以相互配合,以实施本发明的第一方面提供的上述基于空中下载技术的升级方法。
27.以下将结合一些基于空中下载技术的升级方法的实施例,描述一种基于空中下载
技术的升级系统的工作原理。本领域的技术人员可以理解,这些升级方法的实施例只是本发明提供的一些非限制性的实施方式,旨在清楚地展示本发明的主要构思,并提供一些便于公众实施的具体方案,而非用于限制该升级系统的全部工作方式及全部功能。同样地,该升级系统也只是本发明提供的一种非限制性的实施方式,不对这些升级方法中各步骤的实施主体构成限制。
28.请结合参考图1及图2。图1示出了根据本发明的一些实施例提供的基于空中下载技术的升级方法的流程示意图。图2示出了根据本发明的一些实施例提供的基于空中下载技术的升级系统的原理示意图。
29.如图1及图2所示,在本发明的一些实施例中,基于空中下载技术的升级系统可以包括云端10和设备端20。该云端10配置有一个或多个ota服务器,用于为设备端20提供一种或多种文件的ota更新功能。该设备端20可以是配置于车辆的车机系统,其上安装有安卓(android)、qnx或linux等操作系统。设备端20通信连接云端10的对应ota服务器,以获取更新本地存储的各设备端文件的差分文件,并根据这些差分文件来实现对本地存储的各设备端文件的ota升级。
30.具体来说,在进行设备端文件的ota升级之前,云端10的技术人员可以将一种或多种最新版本的文件存储到云端10的存储器,并向对应的ota服务器提供这些云端文件的获取接口,以供一个或多个设备端20通过对应的ota服务器来查询并获取对应的更新文件。在一些实施例中,技术人员还可以在云端10的日常运营过程中,不断向云端10存储器添加最新版本的云端文件,以保证云端10存储了设备端20运行所需的各种最新版本的文件。
31.之后,在进行设备端文件的ota升级时,升级系统可以首先判断云端10是否存储有用于更新设备端文件的更新文件(步骤101),再根据实际的判断结果来执行对应的操作。
32.请参考图3,图3示出了根据本发明实施例提供的判断云端是否存储有设备端文件的更新文件的流程示意图。
33.如图3所示,在本发明的一些实施例中,更新文件的判断操作可以基于云端文件及设备端文件的版本信息来实施。具体来说,设备端20可以首先获取本地存储的一个或多个设备端文件的版本信息(例如a1.0和b2.3),并将其分别发送到云端10的对应ota服务器,以查询云端10是否存储了这些设备端文件的更新文件。响应于设备端20发送的查询请求,云端10的ota服务器可以获取其管理的一个或多个云端文件的版本信息(例如a1.1、b2.3和c3.0),并将查询请求中记载的设备端文件的版本信息(即a1.0和b2.3)逐一与这些云端文件的版本信息(即a1.1、b2.3和c3.0)进行比较,以判断各云端文件是否为用于更新这些设备端文件的更新文件。
34.若云端文件a1.1的版本信息中带有的标识信息“a”与设备端文件a1.0的版本信息中带有的标识信息“a”一致,且云端文件a1.1的版本信息中带有的版本号信息“1.1”大于设备端文件a1.0的版本信息中带有的版本号信息“1.0”,则云端10可以判定云端文件a1.1是设备端文件a1.0的更新文件。
35.若云端文件b2.3的版本信息中带有的标识信息“b”与设备端文件b2.3的版本信息中带有的标识信息“b”一致,且云端文件b2.3的版本信息中带有的版本号信息“2.3”小于或等于设备端文件b2.3的版本信息中带有的版本号信息“2.3”,则云端10可以判定云端文件b2.3与设备端文件b2.3是同一种文件,但云端文件b2.3不是设备端文件b2.3的更新文件,
并进行下一云端文件的判断。
36.若云端文件c3.0的版本信息中带有的标识信息“c”与设备端文件a1.0的版本信息中带有的标识信息“a”不一致,则云端10可以跳过比较版本号信息的步骤,直接判定云端文件c3.0与设备端文件a1.0不是同一种文件,云端文件c3.0不是设备端文件a1.0的更新文件,并进行下一云端文件的判断。
37.依此类推,云端10的ota服务器可以将查询请求中记载的设备端文件的版本信息逐一与各云端文件的版本信息进行比较,直到云端10不再存在未经判断的云端文件。在一些实施例中,若完成所有云端文件的比较判断后仍没有判定任何云端文件是设备端文件的更新文件,ota服务器可以判定云端10未存储各设备端文件的更新文件。
38.响应于云端10未存储各设备端文件的更新文件的判断结果,云端10的ota服务器可以向设备端20发送无更新文件的反馈信息,并等待其他设备端发送的查询信息,以及该设备端20在指定的间隔时间(例如:1天、1周或1个月)后再次发送的查询信息。
39.反之,响应于云端10存储有任意一个或多个设备端文件的更新文件的判断结果,云端10的ota服务器可以使用配置于云端10的第一zstd压缩工具对该更新文件a1.1及其对应的设备端文件a1.0进行差分比较,以生成指示两者数据差异的差分文件(步骤102)。该第一zstd压缩工具是一种基于开源zstandard快速无损压缩算法而构建的压缩工具。
40.具体来说,在使用第一zstd压缩工具对设备端文件及更新文件进行差分比较时,云端10的ota服务器可以首先根据更新文件的版本信息“a1.1”,从云端存储器获取对应的云端文件a11.img,并根据设备端文件的版本信息“a1.0”,从云端存储器获取对应的设备端文件a10.img。通过采用从云端存储器获取设备端文件a10.img的方案,本发明能够有效节省ota升级在设备端(即用户所在的一端)所耗费的流量,并提升设备端文件a10.img的获取速度。
41.在获取更新文件a11.img及设备端文件a10.img之后,ota服务器可以运行配置于云端10的第一zstd压缩工具,并向其输入patch-from《a11.img》《a10.img》-o=《a10a11.dif》的指令,控制该第一zstd压缩工具对设备端文件a10.img及更新文件a11.img进行差分比较,以生成指示两者数据差异的差分文件a10a11.dif。
42.相较于现有技术中安卓系统自带的ota差分技术,该第一zstd压缩工具一方面具有压缩率高、压缩速度快的优势,能够有效缩小差分文件以节省更新系统所耗费的流量并提升下载速度。以1gb大小的差分文件为例,安卓系统自带的ota差分技术需要2分钟以上才能完成设备端文件a10.img及更新文件a11.img的差分比较,并生成指示两者数据差异的差分文件a10a11.dif,而基于开源zstandard快速无损压缩算法构建的第一zstd压缩工具只需不到5秒就能完成设备端文件a10.img及更新文件a11.img进行差分比较,并生成同样大小的差分文件a10a11.dif。另一方面,基于开源zstandard快速无损压缩算法构建的第一zstd压缩工具还具有开源的特性,能够在安卓、qnx、linux等操作系统中达到同样的压缩效果,从而促进ota功能在不同操作系统的车辆上的推广。
43.在生成更新文件a11.img及设备端文件a10.img的差分文件a10a11.dif之后,ota服务器可以向对应的设备端20提供该差分文件a10a11.dif。设备端20可以从云端10下载获取该差分文件a10a11.dif,再使用配置于本地的第二zstd压缩工具根据该差分文件a10a11.dif对原本的设备端文件a10.img进行差分还原,从而将原本的设备端文件a10.img
更新为云端10存储的更新文件a11.img(步骤103)。该第二zstd压缩工具也是一种基于开源zstandard快速无损压缩算法而构建的压缩工具。
44.具体来说,在使用第二zstd压缩工具对原本的设备端文件a10.img进行差分还原时,设备端20可以首先运行配置于本地的第二zstd压缩工具,再向其输入patch-from《1011.dif》《a10.img》-o=《a11.img》的指令,控制该第二zstd压缩工具根据差分文件a10a11.dif对设备端文件a10.img进行差分还原,从而将快速、高效地将原本的设备端文件a10.img更新为云端10存储的更新文件a11.img。
45.进一步地,该第二zstd压缩工具还可以被配置为扩展接口的zstd压缩工具。设备端20可以使用该扩展接口的第二zstd压缩工具,根据差分文件a10a11.dif对设备端20原本的块设备文件/dev/block/system进行同文件的差分还原,以进一步提升差分还原操作的执行速度。
46.具体来说,在使用扩展接口的第二zstd压缩工具对设备端20原本的块设备文件/dev/block/system进行同文件的差分还原时,设备端20可以首先运行扩展接口的第二zstd压缩工具,再向其输入patch-from《1011.dif》《/dev/block/system》-o=《/dev/block/system》的指令。响应于该patch-from指令,扩展接口的第二zstd压缩工具可以按照预先设定的窗口大小(例如:500mb)逐步提取差分文件a10a11.dif中记载的数据,并以其替换块设备文件/dev/block/system的对应位置上存储的原数据,并依此类推,直到完成差分文件a10a11.dif中所有数据的替换操作。如此,该扩展接口的第二zstd压缩工具即可根据差分文件a10a11.dif,对设备端20原本的块设备文件/dev/block/system进行基于差异数据的差分还原,从而更快速、更高效地将原块设备文件/dev/block/system中记载的关于设备端文件a10.img的数据更新为云端10存储的更新文件a11.img的数据。
47.相较于现有技术中安卓系统自带的ota差分技术,该第二zstd压缩工具一方面具有还原速度快的优势,能够有效提升差分文件a10a11.dif在设备端20的差分还原速度。同样以1gb大小的差分文件为例,安卓系统自带的ota差分技术需要1分钟以上才能完成差分文件a10a11.dif及设备端文件a10.img的差分还原,并将原本的设备端文件a10.img更新为云端10存储的更新文件a11.img,而上述采用块设备更新的扩展接口的第二zstd压缩工具只需不到15秒就能完成差分文件a10a11.dif及设备端文件a10.img的差分还原,将原块设备文件/dev/block/system中记载的关于设备端文件a10.img的数据更新为云端10存储的更新文件a11.img的数据。另一方面,基于开源zstandard快速无损压缩算法构建的第二zstd压缩工具同样具有开源的特性,能够在安卓、qnx、linux等操作系统中达到同样的差分还原效果,从而促进ota功能在不同操作系统的车辆上的推广。
48.更进一步地,上述基于开源zstandard快速无损压缩算法构建的第一zstd压缩工具及第二zstd压缩工具还具有支持大文件更新的功能。具体来说,上述第一zstd压缩工具及第二zstd压缩工具能够在32位的操作系统中,支持大小在1gb以上的差分文件的差分比较及差分还原操作,并在364位的操作系统中,支持大小在2gb以上的差分文件的差分比较及差分还原操作。
49.相较于现有技术中安卓系统自带的ota差分技术不能支持大文件更新的缺陷,本发明能够利用大容量的差分文件,一次性下载多个设备端文件与其更新文件的差分文件,从而提升ota升级的下载效率。尤其是针对上述基于块设备更新的ota升级方案,本发明能
够利用大容量的差分文件,一次性下载并替换块设备文件/dev/block/system的各对应位置上存储的原数据,以达到同步更新多个设备端文件的效果,从而进一步节省现有技术需要进行多次差分还原操作的时间。
50.本领域的技术人员可以理解,尽管图2将云端服务器10和设备端系统20绘示为一对一的对应关系,但这只是本发明提供的一些非限制性的实施方式,旨在清楚地展示本发明的主要构思,并提供一些便于公众实施的具体方案,而非用于限制本发明的保护范围。
51.可选地,在另一些实施例中,每一云端服务器10可以连接多个设备端系统20,用于为多个设备端系统20提供一种或多种文件的ota更新功能。同样地,每一设备端系统20也可以连接多个云端服务器10,能够分别从多个不同的云端服务器10分别获取多种不同文件的ota更新文件。
52.尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
53.本领域技术人员将可理解,信息、信号和数据可使用各种不同技术和技艺中的任何技术和技艺来表示。例如,以上描述通篇引述的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光学粒子、或其任何组合来表示。
54.本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
55.尽管上述的实施例所述的云端10及设备端20可以通过软件与硬件的组合来实现的。但是可以理解,该云端10及该设备端20也可以单独在软件或硬件中加以实施。对于硬件实施而言,该云端10及该设备端20可以在一个或多个专用集成电路(asic)、数字信号处理器(dsp)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、用于执行上述功能的其它电子装置或上述装置的选择组合来加以实施。对软件实施而言,该云端10及该设备端20可以通过在通用芯片上运行的诸如程序模块(procedures)和函数模块(functions)等独立的软件模块来加以实施,其中每一个模块执行一个或多个本文中描述的功能和操作。
56.结合本文所公开的实施例描述的各种解说性逻辑模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协作的一个或多个微处理器、或任何其他此类配置。
57.提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1