终端设备的OTA升级方法、装置、电子设备及存储介质与流程

文档序号:32310976发布日期:2022-11-23 11:35阅读:373来源:国知局
终端设备的OTA升级方法、装置、电子设备及存储介质与流程
终端设备的ota升级方法、装置、电子设备及存储介质
技术领域
1.本发明涉及通信技术领域,特别是涉及终端设备的ota升级方法、一种终端设备的ota升级装置、一种电子设备以及一种计算机可读存储介质。


背景技术:

2.随着空中下载(over-the-air,简称ota)技术的不断发展,ota升级目前已成为如电视、机顶盒、电视盒子、智能电视、iptv终端、ott终端等终端设备升级固件的标准方式。在使用过程中,终端设备可以通过网络自动下载ota升级包,从而无损失地进行固件升级。
3.但目前,现网存在部分脱管终端设备无法通过ota进行升级,导致新的业务需求和价值经营工作无法在这些终端设备上应用,严重影响整体业务需求规划、用户体验和价值提升。以机顶盒为例,机顶盒无法通过ota进行升级存在以下几种情况:
4.1、有固件版本但无法升级的贴牌假机顶盒:该类机顶盒情况复杂,部分为贴牌假盒子,机身像a品牌、b品牌,但内部主板和芯片非a品牌、b品牌;
5.2、升级功能被阉割的串货机顶盒:部分为外省串货,串货机顶盒存在升级功能阉割的情况;
6.3、机顶盒质量差,自升级功能存在缺陷的盒子:部分厂家机顶盒质量差,自升级功能存在缺陷,导致无法自动升级。


技术实现要素:

7.本发明实施例是提供一种终端设备的ota升级方法、装置、电子设备以及计算机可读存储介质,以解决现网存在部分脱管终端设备无法通过ota进行升级的问题。
8.本发明实施例公开了一种终端设备的ota升级方法,所述方法包括:
9.获取终端设备的主应用的主应用升级包;
10.对所述主应用升级包进行系统签名;
11.根据所述主应用升级包将所述主应用升级至目标版本;
12.通过目标版本的所述主应用加载ota应用,以通过所述ota应用对所述终端设备进行固件升级。
13.可选地,所述通过目标版本的所述主应用加载ota应用,包括:
14.通过目标版本的所述主应用加载或修复应用商城;
15.通过所述应用商城检测所述终端设备是否安装有ota应用;
16.若所述终端设备未安装有所述ota应用,则通过所述应用商城在所述终端设备安装所述ota应用。
17.可选地,所述通过目标版本的所述主应用加载应用商城,包括:
18.若通过目标版本的所述主应用加载应用商城失败,检测所述终端设备的内存中的应用商城目录是否被创建;
19.若所述应用商城目录未被创建,则在所述终端设备的内存中创建应用商城目录
后,通过所述目标版本的所述主应用加载所述应用商城。
20.可选地,所述通过所述ota应用对所述终端设备进行固件升级,包括:
21.通过所述ota应用获取最新固件的版本信息,并根据所述最新固件的版本信息与所述终端设备的固件的版本信息的差异,对所述终端设备进行固件升级。
22.可选地,所述根据所述最新固件的版本信息与所述终端设备的固件的版本信息的差异,对所述终端设备进行固件升级,包括:
23.当所述终端设备的固件的版本大于或等于预设版本且低于所述最新固件的版本时,下载所述最新固件的固件升级包,根据所述最新固件的固件升级包将所述终端设备的固件升级到最高版本;
24.当所述终端设备的固件的版本低于所述预设版本时,下载过渡固件的过渡固件升级包,根据所述过渡固件升级包将所述终端设备的固件升级到过渡版本,下载所述最新固件的固件升级包,根据所述最新固件的固件升级包将所述终端设备的固件从所述过渡版本升级到最高版本。
25.可选地,所述终端设备至少包括平板电视、机顶盒、电视盒子、智能电视、iptv终端、ott终端。
26.本发明实施例公开了一种终端设备的ota升级装置,包括:
27.升级包获取模块,用于获取终端设备的主应用的主应用升级包;
28.升级包签名模块,用于对所述主应用升级包进行系统签名;
29.应用升级模块,用于根据所述主应用升级包将所述主应用升级至目标版本;
30.固件升级模块,用于通过目标版本的所述主应用加载ota应用,以通过所述ota应用对所述终端设备进行固件升级。
31.可选地,所述固件升级模块,包括:
32.商城加载子模块,用于通过目标版本的所述主应用加载或修复应用商城;
33.应用检测子模块,用于通过所述应用商城检测所述终端设备是否安装有ota应用;若所述终端设备未安装有所述ota应用,则执行应用安装子模块;
34.所述应用安装子模块,用于通过所述应用商城在所述终端设备安装所述ota应用。
35.可选地,所述商城加载子模块,包括:
36.目录检测单元,用于若通过目标版本的所述主应用加载应用商城失败,检测所述终端设备的内存中的应用商城目录是否被创建;
37.商城加载单元,用于若所述应用商城目录未被创建,则在所述终端设备的内存中创建应用商城目录后,通过所述目标版本的所述主应用加载所述应用商城。
38.可选地,所述固件升级模块,包括:
39.固件升级子模块,用于通过所述ota应用获取最新固件的版本信息,并根据所述最新固件的版本信息与所述终端设备的固件的版本信息的差异,对所述终端设备进行固件升级。
40.可选地,所述固件升级子模块,包括:
41.第一固件升级单元,用于当所述终端设备的固件的版本大于或等于预设版本且低于所述最新固件的版本时,下载所述最新固件的固件升级包,根据所述最新固件的固件升级包将所述终端设备的固件升级到最高版本;
42.第二固件升级单元,用于当所述终端设备的固件的版本低于所述预设版本时,下载过渡固件的过渡固件升级包,根据所述过渡固件升级包将所述终端设备的固件升级到过渡版本,下载所述最新固件的固件升级包,根据所述最新固件的固件升级包将所述终端设备的固件从所述过渡版本升级到最高版本。
43.可选地,所述终端设备至少包括平板电视、机顶盒、电视盒子、智能电视、iptv终端、ott终端。
44.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
45.所述存储器,用于存放计算机程序;
46.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
47.本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
48.本发明实施例包括以下优点:获取终端设备的主应用的主应用升级包,对主应用升级包进行系统签名,根据主应用升级包将主应用升级至目标版本,通过目标版本的主应用加载ota应用,以通过ota应用对终端设备进行固件升级。本发明实施例中,将终端设备的主应用升级至目标版本,通过目标版本的主应用加载ota应用,从而打通脱管终端设备的ota升级通道,解决终端设备无法纳管,进而无法进行固件版本迭代升级的问题。
附图说明
49.图1是本发明实施例中提供的一种终端设备的ota升级方法的步骤流程图;
50.图2是本发明实施例中提供的一种机顶盒android系统架构的示意图;
51.图3是本发明实施例中提供的一种apk解耦合流程的示意图;
52.图4是本发明实施例中提供的一种主应用界面的示意图;
53.图5是本发明实施例中提供的一种应用商城界面的示意图;
54.图6是本发明实施例中提出的一种ota升级的步骤流程图;
55.图7是本发明实施例中提出的一种ota升级的步骤流程图;
56.图8是本发明实施例中提供的一种终端设备的ota升级装置的结构框图。
具体实施方式
57.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
58.现有公开技术中仅能针对正常终端设备进行自动升级,正常的终端设备可以进行ota升级,ota是指用户终端可以直接通过信号通道的接收下载方式,在终端设备上进行创建和安装更新软件。这个过程无需借助其他设备,只要终端设备能够正常接收到网络信号、并且内部具备相应的升级控制软件,就可以轻松实现远程软件升级。
59.终端设备无法进行ota升级,经验证主要原因为:itms(integrated terminal management system,终端综合管理系统)向这些终端设备下发升级地址后,终端设备没有
下载升级包及安装等响应动作,分析原因为盒子的ota升级通道受阻,如ota升级应用被阉割或者是该应用无法被正确启动等。
60.基于此,本发明实施例中提出了一种终端设备的ota升级方法、装置、电子设备及存储介质。为搭建或恢复ota升级通道,先将终端设备的已有的主apk(主应用)通过后台自升级至目标版本,然后通过主apk加载ota升级apk(ota应用),实现脱管终端设备通过首次手动纳管升级后修复升级通道,使得终端设备可以正常响应itms终端网管系统上部署的远程升级任务,从而实现通过ota应用对终端设备进行固件升级。
61.参照图1,示出了本发明实施例中提供的一种终端设备的ota升级方法的步骤流程图,具体可以包括如下步骤:
62.步骤101:获取终端设备的主应用的主应用升级包。
63.其中,终端设备包括平板电视、机顶盒、电视盒子、智能电视、iptv(交互式网络电视)终端、ott(over the top,互联网电视)终端等,本发明实施例中以android系统的机顶盒为示例进行说明,但不局限于此。
64.主应用为主apk安装在终端设备的应用软件(终端设备整个应用里主apk对应的功能模块),终端设备开发时将整个应用按照功能模块划分,这些模块包括一个宿主和多个插件,每个模块都是一个apk,主apk相当于一个壳,它会按需加载其他功能模块的apk。通过这种模式,可以解决了巨型apk的问题,当某个功能模块需要变化时,也只需要修改对应功能的代码,打包功能apk并更新即可,这样可以让用户及时更新,而且更新的代价也很小。
65.具体地,获取终端设备的主应用的主应用升级包,即获取终端设备的主apk的升级包,以对终端设备中的主apk进行升级。作为示例,获取终端设备的主应用的主应用升级包方式可以为多种,第一种直接通过终端设备上具备下载功能的功能模块/应用,如浏览器从厂商网页中下载主应用对应的主应用升级包,然后将主应用升级包放置在终端设备的指定位置;第二种是将如u盘、移动终端等外接设备事先下载好终端设备的主应用的主应用升级包,将后外接设备通过终端设备的输入输出接口与终端设备连接,将主应用升级包从外接设备中移动到终端设备的指定位置。当然,除此之外,还可以通过其他方式获取到主应用的主应用升级包,例如移动终端将下载好的主应用的主应用升级包通过蓝牙、wifi等连接方式传输给终端设备。
66.步骤102:对所述主应用升级包进行系统签名。
67.具体地,终端设备获取到主应用的主应用升级包之后,主应用升级包收到厂商设置的权限限制,无法通过主应用升级包自动更新主应用,因此需要对主应用升级包进行系统签名(厂商签名)。作为示例,可以将调用recoverysystem.installpackage api接口的apk声明为系统进程,即通过声明android:shareduserid="android.uid.system",并在声明后对主应用升级包进行厂商系统签名,通过这样的方式就可以获取到权限。
68.需要说明的是,对主应用升级包进行系统签名是本领域的公知常识,因此,本发明实施例中对此不加以赘述。
69.步骤103:根据所述主应用升级包将所述主应用升级至目标版本。
70.具体地,在对主应用升级包进行系统签名之后,主应用升级包获取到厂商权限,因此可以通过主应用升级包实现主应用的自动更新升级。作为示例,以机顶盒为例,在获取到进行系统签名的主应用升级包之后,对机顶盒进行重启,开机后主apk在后台拉起自升级,
并成功升级至目标版本。
71.步骤104:通过目标版本的所述主应用加载ota应用,以通过所述ota应用对所述终端设备进行固件升级。
72.具体地,在将主应用升级至目标版本,目标版本的主应用植入有检测并拉起ota升级apk的功能模块,因此可以通过主应用的该功能模块加载ota升级功能模块的apk,在终端设备上安装得到ota应用,从而打通脱管终端设备的ota升级通道,使得终端设备可以正常响应itms上部署的远程升级任务,进而可以通过ota应用实现终端设备的固件升级。
73.本发明实施例中,获取终端设备的主应用的主应用升级包,对主应用升级包进行系统签名,根据主应用升级包将主应用升级至目标版本,通过目标版本的主应用加载ota应用,以通过ota应用对终端设备进行固件升级。本发明实施例中,将终端设备的主应用升级至目标版本,通过目标版本的主应用加载ota应用,从而打通脱管终端设备的ota升级通道,解决终端设备无法纳管,进而无法进行固件版本迭代升级的问题。
74.在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
75.除了采用在目标版本的主应用上植入拉起ota升级apk的功能模块的方式在终端设备上加载ota应用,还可以采用ota升级apk在应用商城(appstore apk)上架,通过应用商城下载ota升级apk并安装,实现终端设备上ota应用的安装,具体方式如下:
76.在一示例性实施例中,所述通过目标版本的所述主应用加载ota应用,包括:通过目标版本的所述主应用加载或修复应用商城;通过所述应用商城检测所述终端设备是否安装有ota应用;若所述终端设备未安装有所述ota应用,则通过所述应用商城在所述终端设备安装所述ota应用。
77.其中,应用商城是通过判断下载目录是否有新的需要安装的apk的方式,来检测终端设备是否安装有ota应用。
78.具体地,目标版本的主应用上植入检测并拉起appstore apk的功能模块,因此可以通过主应用的该功能模块加载或修复appstore apk,在终端设备上添加应用商城这一功能模块,应用商城被加载后,应用商城会检测出终端设备上需要安装却未安装的应用,然后对这些应用进行强制安装,因此在应用商城检测到终端设备未安装有ota应用时,应用商城会下载上架在应用商城的ota升级apk进行安装,实现在终端设备上添加ota应用。
79.上述实施例中,在通过主应用加载应用商城之后,使用强制升级apk,实现ota应用自动后台下包、自动安装的能力,从而打通脱管终端设备的ota升级通道,解决终端设备无法纳管,进而无法进行固件版本迭代升级的问题。
80.在一示例性实施例中,所述通过目标版本的所述主应用加载应用商城,包括:若通过目标版本的所述主应用加载应用商城失败,检测所述终端设备的内存中的应用商城目录是否被创建;若所述应用商城目录未被创建,则在所述终端设备的内存中创建应用商城目录后,通过所述目标版本的所述主应用加载所述应用商城。
81.具体地,在主应用加载应用商城时,若加载失败,则检查sdcard的apptvstore目录是否被创建,如果不存在则创建文件夹,进行如下操作:i/otaapkinstaller(5335):/sdcard/apptvstore is not exist,create the document。在应用商城目录创建之后,重新通过主应用加载应用商城。
82.在一示例性实施例中,所述通过所述ota应用对所述终端设备进行固件升级,包括:通过所述ota应用获取最新固件的版本信息,并根据所述最新固件的版本信息与所述终端设备的固件的版本信息的差异,对所述终端设备进行固件升级。
83.具体地,在终端设备上安装ota应用之后,ota应用可以通过请求固件配置接口,请求获取固件对应的最新固件的版本信息,根据获取到的最新固件的版本信息与终端设备的固件的版本信息进行比较,根据两者的差异对终端设备进行固件升级。
84.需要说明的是,在ota应用安装之后,还需要进行一次主动拉起,ota应用才能正常接收到开机网络变化广播,这个过程有主应用负责调用《action android:name="com.****.ota.action.otacheck"/》拉起ota应用。
85.在一示例性实施例中,所述根据所述最新固件的版本信息与所述终端设备的固件的版本信息的差异,对所述终端设备进行固件升级,包括:当所述终端设备的固件的版本大于或等于预设版本且低于所述最新固件的版本时,下载所述最新固件的固件升级包,根据所述最新固件的固件升级包将所述终端设备的固件升级到最高版本;当所述终端设备的固件的版本低于所述预设版本时,下载过渡固件的过渡固件升级包,根据所述过渡固件升级包将所述终端设备的固件升级到过渡版本,下载所述最新固件的固件升级包,根据所述最新固件的固件升级包将所述终端设备的固件从所述过渡版本升级到最高版本。
86.其中,预设版本低于最新固件的版本,预设版本根据最新固件的版本进行设置,当终端设备的固件的版本低于预设版本时,说明终端设备的固件的版本极低,无法直接升级到最新固件的版本。
87.具体地,获取到最新固件的版本信息之后,若终端设备的固件的版本等于最新固件的版本,则无需对终端设备进行固件升级。
88.若终端设备的固件的版本大于或等于预设版本且低于最新固件的版本时,可以直接将终端设备的固件的版本升级至最高版本,具体itms远程下发该型号终端设备的最高固件版本升级任务至过ota应用,ota应用下载到最新固件的固件升级包,在固件升级包验证通过之后,根据该固件升级包将终端设备的固件升级到最高版本。
89.若终端设备的固件的版本低于预设版本时,说明终端设备的固件的版本极低,无法直接升级到最新固件的版本,因此,itms远程下发该型号终端设备的过渡固件版本升级任务至过ota应用,ota应用下载到过渡固件的过渡固件升级包,在过渡固件升级包验证通过之后,根据过渡固件升级包将终端设备的固件升级到过渡版本,过渡版本是比原终端设备的版本要高,但低于最新固件的版本,因此,固件可以从过渡版本升级到最高版本。itms远程下发该型号终端设备的最新固件版本升级任务至ota应用,ota应用下载到最新固件的固件升级包,在固件升级包验证通过之后,根据该固件升级包将终端设备的固件从过渡版本升级到最高版本。
90.上述实施例中,在终端设备的固件的版本极低时,先将终端设备的固件升级至过渡版本,再将终端设备的固件从过渡版本升级至最高版本,避免出现因终端设备的固件的版本极低,导致终端设备的固件无法升级的问题。
91.为了更好地理解本发明中的实施例,以下通过android系统的机顶盒为例进行示例性说明。
92.参照图2,示出了本发明实施例中提供的一种机顶盒android系统架构的示意图。
智能机顶盒android系统架构,其主要分为应用层、框架层、基础能力库和内核层。应用层主要是指基于系统框架层能力开发的上层应用,可包括iptv、云应用(如云游戏、云电脑)、摄像头应用(会议系统、视频通话系统等)等;框架层是基于android系统定制化的系统框架层,分为标准框架和定制化框架,系统使用android标准框架能力;基础能力库继承android系统标准的库能力如c库、渲染库、数据库,以及android虚拟机等基础能力;硬件抽象层基于系统内核中各个不同硬件驱动实现的标准化接口层,适配硬件驱动包含蓝牙驱动、wifi驱动、摄像头驱动、遥控器驱动、usb驱动等,为基础能力层提供统一的调用接口;内核层继承linux内核基础能力,同时根据不同的硬件,集成不同的硬件驱动、vlan支持等。
93.为打通机顶盒的ota升级通道,需要在已脱管机顶盒中修复或加载应用商城,才能通过appstore apk解耦安装ota升级apk,最终打通升级通道,实现机顶盒纳管。完成这一步骤的思路是:先将机顶盒中已有的主apk通过后台自升级至目标版本(这些机顶盒还是可以通过主apk正常收视,但是版本也很低),然后在目标版本主apk中植入检测并拉起appstore apk的功能模块,最后再通过appstore apk解耦提供otaapk下载。参照图3,示出了本发明实施例中提供的一种apk解耦合流程的示意图。在用户启动机顶盒之后,主apk检测出需要新装或升级的appstore apk之后,将该appstore apk的解耦信息发送给解耦系统,解耦系统依据解耦信息将该appstore apk的配置数据发送给解耦插件,然后开始静默下载appstore apk并进行安装升级。
94.脱管机顶盒首次纳管升级流程步骤具体如下:
95.1、将所有下载安装的固件apk(主应用升级包)进行系统签名(调用recoverysystem.installpackage api接口的apk需要声明为系统进程,才能有权限调用,即通过声明android:shareduserid="android.uid.system",但声明后需要厂商系统签名才能正常安装到盒子上)。
96.2、机顶盒开机后主apk在后台拉起自升级,并成功升级至目标版本,图4为主应用界面。
97.3、下一步需要将应用商城拉起,如果机顶盒上应用商城无法被拉起,则检查sdcard的apptvstore目录是否被创建,如果不存在则创建文件夹,进行如下操作:i/otaapinstaller(5335):/sdcard/apptvstore is not exist,create the document,在apptvstore目录被创建之后,重新拉起应用商城。图5为安装成功后的应用商城界面。
98.4、在机顶盒上监测和安装应用商城成功之后,ota升级apk开发完成后,会在应用商城上架,主应用负责将ota应用触发下载并通过应用商城接口完成自动安装。
99.其中,appstore apk的工作模式需要配置为开机自启动,才可实现apk开机自动升级检测,避免手工干预,自动实现所有流程。appstore apk开机自启动后按照以下模式进行工作:机顶盒启动后,应用商城开机启动,调用主apk配置接口,获得主apk配置数据,并存入机顶盒本地数据库(如果调用远程服务器配置数据出现异常,系统直接跳过,执行下一步)。机顶盒启动之后判断下载目录是否有新的需要安装的apk,如果存在,执行安装操作,并通过进度条提示用户系统正在更新,不要断电,屏蔽用户操作,升级完成之后通过广播将安装apk删除。如果没有新的安装apk,跳过该步。系统通过本地数据获得应用的最高版本号,与应用安装的最高版本进行比较,如果发现已经安装的版本低于本地数据库记录的版本,执行应用下载操作。如果本地没有安装,也执行应用下载操作。
100.5、ota升级apk安装完成后,因android官方限制,需要进行一次主动拉起,应用才能正常接收到开机、网络变化广播,这个过程有主应用负责调用《action android:name="com.****.ota.action.otacheck"/》拉起ota升级应用。
101.6、ota升级apk通过请求固件配置接口,获取对应版本的固件信息,通过获取到的固件信息判断是否需要升级,需要升级则进行下载、校验及安装。参照图6,示出了本发明实施例中提出的一种ota升级的步骤流程图,在机顶盒开机后,ota应用会接收到开机广播启动应用,启动ota常驻服务,并延迟30秒启动ota请求服务,判断网络是否连接,若网络未连接,则等待10秒后重新发起ota请求服务,若网络连接,发起ota请求,请求得到机顶盒型号对应的固件的最高版本,若固件的最高版本等于机顶盒固件的版本,机顶盒的固件则不用进行升级,结束该流程;若固件的最高版本大于机顶盒固件的版本,itms远程下发该型号终端设备的最高固件版本升级任务,升级任务里包括md5字段,ota应用接收到任务之后开始下载固件升级包,在固件升级包下载成功后,通过md5对固件升级包进行验证,具体计算一下固件升级包的md5值,然后与这里的md5字段进行比较,如果相同的话,说明下载的固件升级包没有问题,然后开始升级,倒计时5秒,提示用户升级过程请勿断电,重启进行ota升级。
102.7、ota升级apk拉起后机顶盒已可以正常响应itms上部署的远程升级任务,但存在机顶盒的固件版本极低无法直接升级到现网最高版本,于是先在itms上对机顶盒下发过渡版本升级任务,机顶盒通过ota升级apk自动完成过渡版本固件下载安装,成功升级到过渡固件版本v100r003*************,然后通过itms下发该型号机顶盒现网最高固件版本v100r005*******************升级任务,最终成功升级到现网最高版本。
103.其中,机顶盒一般在recovery模式下进行固件升级,recovery模式本身就是个升级小系统,有单独的内核(kernel),通过特定的系统命令就可以进入到此系统中,选择进入正常系统的kernel还是recovery系统的kernel。
104.最终完成所有流程后,脱管机顶盒的应用apk和固件均可以升级至现网最高版本,并且后续均可通过正常网络通道和策略进行自动升级,成为可正常进行远程管理和升级的纳管机顶盒。
105.本发明实施例中,基于android系统底层架构,巧妙运用apk开发、ota升级方法、终端网管协议和终端recovery模式等技术,重构机顶盒升级通道和流程,实现脱管机顶盒通过首次手动纳管升级后修复升级通道,且后续支持自动升级,解决已脱管机顶盒不支持自动升级的问题,让脱管异常机顶盒最终成为可正常进行远程管理和升级的纳管机顶盒。且具有以下几种效果:
106.降本:本发明中所涉及的机顶盒升级破解技术可显著节约企业成本支出,如采用更换用户机顶盒的方式来解决5万盒子的版本管理问题,按照机顶盒单价166元/个,按50%比例折算,共计需415万元,此项开支已被节省。
107.增效:可将老旧智能机顶盒升级到apk最新版本,改善用户体验;同时部分老旧机顶盒无订购渠道,升级到最新版本后,可提供订购渠道增加的精准运营订购量及收入。
108.安全:异常机顶盒实现版本纳管后,可按照要求进行版本安全管控,避免安全隐患。
109.综上,通过本发明实施例提供的技术方案,打通脱管智能机顶盒终端升级通道,解决终端无法纳管,进而无法进行固件版本迭代升级的问题,支撑业务需求实现业务价值经
营提升;解决脱管机顶盒无法管控、触点经营效果不理想;精准推送、千人千面营销困难;应用不能安装、新业务无法运营等三大价值经营难题。
110.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
111.参照图7,示出了本发明实施例中提供的一种终端设备的ota升级装置的结构框图,具体可以包括如下模块:
112.升级包获取模块701,用于获取终端设备的主应用的主应用升级包;
113.升级包签名模块702,用于对所述主应用升级包进行系统签名;
114.应用升级模块703,用于根据所述主应用升级包将所述主应用升级至目标版本;
115.固件升级模块704,用于通过目标版本的所述主应用加载ota应用,以通过所述ota应用对所述终端设备进行固件升级。
116.可选地,所述固件升级模块,包括:
117.商城加载子模块,用于通过目标版本的所述主应用加载或修复应用商城;
118.应用检测子模块,用于通过所述应用商城检测所述终端设备是否安装有ota应用;若所述终端设备未安装有所述ota应用,则执行应用安装子模块;
119.所述应用安装子模块,用于通过所述应用商城在所述终端设备安装所述ota应用。
120.可选地,所述商城加载子模块,包括:
121.目录检测单元,用于若通过目标版本的所述主应用加载应用商城失败,检测所述终端设备的内存中的应用商城目录是否被创建;
122.商城加载单元,用于若所述应用商城目录未被创建,则在所述终端设备的内存中创建应用商城目录后,通过所述目标版本的所述主应用加载所述应用商城。
123.可选地,所述固件升级模块,包括:
124.固件升级子模块,用于通过所述ota应用获取最新固件的版本信息,并根据所述最新固件的版本信息与所述终端设备的固件的版本信息的差异,对所述终端设备进行固件升级。
125.可选地,所述固件升级子模块,包括:
126.第一固件升级单元,用于当所述终端设备的固件的版本大于或等于预设版本且低于所述最新固件的版本时,下载所述最新固件的固件升级包,根据所述最新固件的固件升级包将所述终端设备的固件升级到最高版本;
127.第二固件升级单元,用于当所述终端设备的固件的版本低于所述预设版本时,下载过渡固件的过渡固件升级包,根据所述过渡固件升级包将所述终端设备的固件升级到过渡版本,下载所述最新固件的固件升级包,根据所述最新固件的固件升级包将所述终端设备的固件从所述过渡版本升级到最高版本。
128.可选地,所述终端设备至少包括平板电视、机顶盒、电视盒子、智能电视、iptv终端、ott终端。
129.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关
之处参见方法实施例的部分说明即可。
130.另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
131.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
132.图8为实现本发明各个实施例的一种电子设备的硬件结构示意图。
133.该电子设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、处理器810、以及电源811等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
134.应理解的是,本发明实施例中,射频单元801可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器810处理;另外,将上行的数据发送给基站。通常,射频单元801包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元801还可以通过无线通信系统与网络和其他设备通信。
135.电子设备通过网络模块802为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
136.音频输出单元803可以将射频单元801或网络模块802接收的或者在存储器809中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元803还可以提供与电子设备800执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元803包括扬声器、蜂鸣器以及受话器等。
137.输入单元804用于接收音频或视频信号。输入单元804可以包括图形处理器(graphics processing unit,gpu)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元806上。经图形处理器8041处理后的图像帧可以存储在存储器809(或其它存储介质)中或者经由射频单元801或网络模块802进行发送。麦克风8042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元801发送到移动通信基站的格式输出。
138.电子设备800还包括至少一种传感器805,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板8061的亮度,接近传感器可在电子设备800移动到耳边时,关闭显示面板8061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比
如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器805还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
139.显示单元806用于显示由用户输入的信息或提供给用户的信息。显示单元806可包括显示面板8061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板8061。
140.用户输入单元807可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元807包括触控面板8071以及其他输入设备8072。触控面板8071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板8071上或在触控面板8071附近的操作)。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器810,接收处理器810发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板8071。除了触控面板8071,用户输入单元807还可以包括其他输入设备8072。具体地,其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
141.进一步的,触控面板8071可覆盖在显示面板8061上,当触控面板8071检测到在其上或附近的触摸操作后,传送给处理器810以确定触摸事件的类型,随后处理器810根据触摸事件的类型在显示面板8061上提供相应的视觉输出。虽然在图8中,触控面板8071与显示面板8061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板8071与显示面板8061集成而实现电子设备的输入和输出功能,具体此处不做限定。
142.接口单元808为外部装置与电子设备800连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元808可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备800内的一个或多个元件或者可以用于在电子设备800和外部装置之间传输数据。
143.存储器809可用于存储软件程序以及各种数据。存储器809可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器809可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
144.处理器810是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器809内的软件程序和/或模块,以及调用存储在存储器809内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器810可包括一个或多个处理单元;优选的,处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要
处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
145.电子设备800还可以包括给各个部件供电的电源811(比如电池),优选的,电源811可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
146.另外,电子设备800包括一些未示出的功能模块,在此不再赘述。
147.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
148.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
149.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
150.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
151.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
152.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
153.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
154.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
155.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
156.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1