一种电视机系统软件的升级方法及装置与流程

文档序号:13883426阅读:233来源:国知局
一种电视机系统软件的升级方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种电视机系统软件的升级方法及装置。



背景技术:

oad(onairdownload,空中下载)技术是为android(安卓)系统提供的一种软件升级技术。它功能强大,通过下载oad升级数据可以实现无损失升级系统。当电视机销售商开发了新功能或是更新电视机中存在的小问题(一般指软件问题)时,销售商可将更新的软件提供给电视广播节目服务商后,电视广播节目服务商可将升级软件增加到节目中。正在收看节目的电视机,将在节目信息中识别是否存在此批次电视机的更新软件,然后将软件下载到电视机,并询问用户是否升级软件。

当安装有android系统的电视机需进行软件升级时,电视广播节目服务商通常按照dsmcc(digitalstoragemediacommandandcontrol,数字存储媒体命令和控制扩展协议)规范所提供的数据轮播(datacarousel)方式发送数据。由于在数据轮播标准中,采用了dsmcc规范中的如下四种消息:(1)ddb(downloaddatablock,下载数据块消息),dii(downloadinfoindication,下载指示消息)、dsi(downloadserverinitiate,下载服务器初始化消息)和downloadcancel(下载取消消息),其中,需要传输的数据封装在ddb中,控制消息封装在dsi、dii和downloadcancel中。因此,当电视机端需要下载升级数据时,需要按照dii描述的数据块的顺序下载ddb中封装的数据。

然而,安卓系统由于数据量较大,电视机在接收数据并进行软件升级时消耗时间较为严重,极大地影响了用户体验。



技术实现要素:

本发明实施例提供一种电视机系统软件的升级方法及装置,解决了电视机的系统软件升级过程耗时较长的问题,减少了用户的等待时间,达到提升用户体验的效果。

为实现上述目的,本发明实施例采用如下技术方案:

第一方面,本发明实施例提供了一种电视机系统软件的升级方法,所述方法包括:

根据预设识别标识判断接收到的传输流中是否存在升级数据;

如果存在所述升级数据,则启动多线程并行请求并接收所述升级数据;

将所述升级数据写入对应的存储器以进行升级。

进一步的,所述启动多线程并行请求并接收所述升级数据,包括:

启动多线程并行请求与所述升级数据对应的描述信息;

解析所述描述信息以获取所述升级数据的相关属性信息;

根据所述相关属性信息接收所述升级数据,并对所述升级数据进行缓存。

进一步的,所述升级数据包括至少一个数据块,所述相关属性信息包括至少一个数据块所占存储空间的大小信息、每个数据块对应的序号以及每个数据块在所述升级数据中的位置信息;

相应的,所述对所述升级数据进行缓存,包括:

根据所述位置信息接收所述至少一个数据块,并根据所述大小信息为所述至少一个数据块开辟设定数量的缓存区域;

将所述至少一个数据块按照序号依次递增的方式交替存储到所述缓存区域中;

相应的,所述将所述升级数据写入对应的存储器以进行升级,包括:

将所述缓存区域中存储的至少一个数据块写入对应的存储器,以供升级。

进一步的,所述将所述缓存区域中存储的数据块写入对应的存储器之后,所述方法还包括:

获取所述至少一个数据块对应的预设校验码,并根据所述预设校验码对所述至少一个数据块进行crc校验。

进一步的,所述将所述升级数据写入对应的存储器以进行升级,包括:

将所述升级数据写入对应的存储器;

当获取到系统软件的升级指令时,根据所述升级指令,将所述升级数据覆盖所述存储器中的原始数据以进行升级。

进一步的,所述启动多线程并行请求并接收所述升级数据之前,所述方法还包括:

将电视机当前播放节目对应的频点切换到与所述升级数据对应的频点,以供接收。

第二方面,本发明实施例提供了一种电视机系统软件的升级装置,所述装置包括:

升级数据识别模块,用于根据预设识别标识判断接收到的传输流中是否存在升级数据;

升级数据接收模块,用于如果存在所述升级数据,则启动多线程并行请求并接收所述升级数据;

升级模块,用于将所述升级数据写入对应的存储器以进行升级。

进一步的,所述升级数据接收模块包括:

描述信息请求单元,用于启动多线程并行请求与所述升级数据对应的描述信息;

属性信息获取单元,用于解析所述描述信息以获取所述升级数据的相关属性信息;

数据缓存单元,用于所述相关属性信息接收所述升级数据,并对所述升级数据进行缓存。

进一步的,所述升级数据包括至少一个数据块,所述相关属性信息包括至少一个数据块所占存储空间的大小信息、每个数据块对应的序号以及每个数据块在所述升级数据中的位置信息;

相应的,所述数据缓存单元具体用于:

根据所述位置信息接收所述至少一个数据块,并根据所述大小信息为所述至少一个数据块开辟设定数量的缓存区域;

将所述至少一个数据块按照序号依次递增的方式交替存储到所述缓存区域中;

相应的,所述升级模块具体用于:将所述缓存区域中存储的至少一个数据块写入对应的存储器,以供升级。

进一步的,所述装置还包括:

校验模块,用于在将所述缓存区域中存储的至少一个数据块写入对应的存储器以供升级之后,获取所述至少一个数据块对应的预设校验码,并根据所述预设校验码对所述数据块进行crc校验。

进一步的,所述升级模块具体用于:

将所述升级数据写入对应的存储器;

当获取到系统软件的升级指令时,根据所述升级指令,将所述升级数据覆盖所述存储器中的原始数据以进行升级。

进一步的,所述装置还包括:

频点切换模块,用于在启动多线程并行请求并接收所述升级数据之前,将电视机当前播放节目对应的频点切换到与所述升级数据对应的频点,以供接收。

本发明实施例的技术方案中,通过根据预设识别标识判断出接收到的传输流中如果存在升级数据,则启动多线程并行请求并接收该升级数据。相对于现有技术提供的单线程串行传输数据的方式,本发明实施例的技术方案节省了数据传输的时间,提高了电视机系统软件的升级速率。通过将升级数据写入对应的存储器可对系统软件进行升级。通过采用上述技术方案,不仅实现了电视机系统软件的快速升级,同时也解决了由于系统升级而导致的用户等待时间较长的问题,提升了用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。

图1为本发明实施例一提供的一种电视机系统软件的升级方法的流程示意图;

图2为本发明实施例一提供的一种数据包传输的示意图;

图3为本发明实施例二提供的一种优选的电视机系统软件的升级方法的流程示意图;

图4为本发明实施例三提供的一种电视机系统软件的升级装置的结构框图。

具体实施方式

为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本发明实施例一提供的一种电视机系统软件的升级方法的流程示意图。本实施例的方法可以电视机系统软件的升级装置来执行,其中该装置可由软件和/或硬件实现,一般可集成在数字电视一体机或机顶盒中。如图1所示,该方法可以包括如下步骤:

s110:根据预设识别标识判断接收到的传输流中是否存在升级数据。

首先,需要说明的是,由于本发明实施例采用的是oad技术对电视机的系统软件进行在线升级,因此,电视广播节目服务商将按照dsmcc规范的数据轮播方式循环发送升级数据。其中,升级数据存在其对应的预设识别标识。电视广播节目服务商在发送升级数据时,预设识别标识也将一同被复用到传输流中,进而被发送到电视机端。

对于电视机端接收到的则是一段段的码流,即传输流(transportstream,ts),每段传输流都携带一些信息。通过识别传输流中是否存在与升级数据相对应的预设识别标识,可判断出接收到的传输流中是否存在升级数据。

s120:如果存在升级数据,则启动多线程并行请求并接收升级数据。

示例性的,如果根据预设识别标识检测出传输流中存在升级数据,则可将电视机当前播放节目对应的频点自动切换到与升级数据对应的频点,以避免当前播放节目对应的频点与升级数据对应的频点不一致而导致无法成功接收升级数据,为电视机系统软件的自动升级奠定基础。当然,如果检测到当前播放节目对应的频点与升级数据对应的频点一致时,则无需进行频点的切换即可启动多线程并行请求数据的指令。其中,程序启动多线程发送数据请求指令的对象是demux(解复用器)。由于电视广播节目服务商采用数据轮循的形式发送升级数据,电视机demux只有在接收到请求指令时,才可将传输流中的升级数据提供给并行的多线程以供接收。

示例性的,当检测出传输流中存在升级数据时,也可通过在电视机显示界面上弹出对话框或通过语音提示等方式提醒用户是否需要接收升级数据。在接收到用户的确认指令后,可自动将当前播放节目对应的频点切换到与升级数据对应的频点,以供升级数据的接收。但是,如果用户选择不接收升级数据,则继续保持当前播放节目对应的频点。

在本实施例中优选的是,如果检测出传输流中存在升级数据,则自动进行频点切换,然后启动多线程并行请求并接收升级数据。其中,线程是程序中一个单一的顺序控制流程。而多线程则是在单个程序中同时运行多个线程以完成不同的任务。图2为本发明实施例一提供的一种数据包传输的示意图。如图2所示,电视广播节目服务商(broadcastandswprovider)按照轮播方式循环发送数据,demux接收到多线程并行请求指令后,通过rf(radiofrequency,射频)信号将电视广播节目服务商发送的数据提供给正在执行的进程,实现了多个数据包的同时传输。相应的,电视机端则可以同时接收到多个数据包。相对于现有技术提供的采用单线程发送请求并接收升级数据的方式,即数据包一个一个被传输并被接收的技术方案,本实施例提供的数据传输方式速度更快、效率更高,缩短了观看电视节目的用户等待接收升级数据的时间,提升了用户体验。

s130:将升级数据写入对应的存储器以进行升级。

示例性的,将所述升级数据写入对应的存储器以进行升级,具体可以为:

将升级数据写入对应的存储器;当获取到系统软件的升级指令时,根据升级指令,将升级数据覆盖存储器中的原始数据以进行升级。

其中,软件升级指令可以为电视机系统自动触发的重启指令,也可采用提示用户的方式,获取用户发送的重启指令。当电视机系统重启后,升级数据将覆盖存储器中的原始系统数据,以完成系统软件的升级。

本发明实施例提供了一种电视机系统软件的升级方法,通过根据预设识别标识判断接收到的传输流中如果存在升级数据,则启动多线程并行请求并接收该升级数据。相对于现有技术提供的单线程串行传输数据的方式,本发明实施例的技术方案节省了数据传输的时间,提高了电视机系统软件的升级速率。通过将升级数据写入对应的存储器可对系统软件进行升级。通过采用上述技术方案,不仅实现了电视机系统软件的快速升级,同时也解决了由于系统升级而导致的用户等待时间较长的问题,提升了用户体验。

实施例二

图3为本发明实施例二提供的一种优选的电视机系统软件的升级方法的流程示意图。本实施例二在实施例一的基础上,将步骤“启动多线程并行请求并接收所述升级数据”优化为:“启动多线程并行请求与升级数据对应的描述信息;解析描述信息以获取升级数据的相关属性信息;根据相关属性信息接收升级数据,并对升级数据进行缓存。”,参照图3,本发明实施例二具体包括如下步骤:

s210:根据预设识别标识判断接收到的传输流中是否存在升级数据。

s220:如果存在升级数据,则启动多线程并行请求与升级数据对应的描述信息。

示例性的,升级数据包括至少一个数据块。为了保证升级数据在传输过程中的安全性,电视广播节目服务商在发送升级数据之前,先将升级数据切割成多个数据块,并将该多个数据块乱序发送。优选的,本实施例中按照数据块所占存储空间的大小将升级数据平均切割成多个数据块,这样设置的好处在于:为数据块的描述以及数据块后续的存储提供便利。

其中,描述信息是升级数据的辅助数据,在辅助数据中并不存在对系统软件升级有实际作用的升级数据,只是描述了升级数据中各个数据块的一些相关属性信息。具体的,本实施例中的描述信息主要包括dsi和dii信息。

其中,相关属性信息包括但不限于至少一个数据块所占存储空间的大小信息,每个数据块对应的序号、大小以及每个数据块在升级数据中的具体位置等。上述相关属性信息均可从升级数据的描述信息中体现。

s230:解析描述信息以获取升级数据的相关属性信息。

优选的,本实施例中通过解析dsi和dii信息,可以获取到至少一个数据块的相关属性信息。

s240:根据相关属性信息接收升级数据,并对升级数据进行缓存。

示例性的,由于电视广播节目服务商发送的升级数据不仅包括对电视机系统软件升级有实际作用的数据块,还存在许多与数据块相关的辅助数据等。因此,对于数据块之外的其他数据,则无需进行接收和存储,以减小缓存区域的存储压力。示例性的,在接收对电视机系统软件升级有实际作用的数据块时,可根据数据块的相关属性信息进行接收,例如,相关属性信息中包括每个数据块在升级数据中的具体位置,因此,可根据上述具体位置接收至少一个数据块,并忽略其他对系统软件升级无实际作用的数据。

示例性的,对于已经接收到的数据块,在本步骤s240中,对升级数据进行缓存的具体步骤可以为:根据所述大小信息为至少一个数据块开辟设定数量的缓存区域;将升级数据按照数据块的序号依次递增的方式交替存储到所述缓存区域中。

示例性的,由于相关属性中包括至少一个数据块的大小信息,因此,可以根据该大小信息为至少一个数据块分配设定数量的缓存区域。例如,若开辟两个8兆的缓存区域,当其中第一缓存区域中存满数据块后,则将数据块均写入对应的存储器中。同时,另外第二缓存区域仍保持接收并存储数据块的状态。而当存满第二缓存区域(8兆)的空间时,将所存储的数据块继续写入对应的存储器中,此时,第一缓存区域则执行接收并存储数据块的动作。按照上述交替存储的方式,直到完成对所有数据块的存储。这样设置的好处在于,保证了数据块写入对应存储器的操作不会因为数据块的存储而中断,也避免了由于过多数据块占用缓存空间而导致新接收到的数据块无法存储的现象发生,提升了进程的处理速度,进而减少了升级系统软件时用户等待的时间。

进一步的,由于数据块的相关属性中包括每个数据块对应的序号,例如1、2、3或4等,在缓存区域中按照数据块的序号依次递增的方式进行存储的好处在于,可根据数据块递增的序号进行相应地换算后,快速将数据块定位到存储器的对应存储位置,并可将数据块按照序号递增的方式同时写入存储器中,进而提升了写操作的速度,同时也可避免由于序号混乱而导致数据块在存储器中的应有存储位置发生改变时,对最后写入的升级数据有效性的影响。示例性的,数据块的存储方式并不局限与按照序号递增的顺序进行存储,也可按照序号依次递减的形式存储。

进一步的,对于已经存储的每个数据块,也可直接读出该数据块所占存储空间的大小,并与相关属性信息中至少一个数据块所占存储空间的大小信息进行比较,进而判断全部数据块是否均已存储,若计算出已经存储的数据块所占存储空间的大小之和小于描述信息中所描述的所有数据块所占存储空间总的大小信息,则继续接收数据块,直到完成对所有数据块的存储。

s250:将缓存区域中存储的升级数据写入对应的存储器。

具体的,本步骤可以为:将缓存区域中存储的至少一个数据块写入对应的存储器,以供升级。

进一步的,将缓存区域中存储的至少一个数据块写入对应的存储器之后,还可以包括:

获取至少一个数据块对应的预设校验码,并根据预设校验码对至少一个数据块进行crc校验。

其中,进行crc校验是为了保证数据块的正确性,以避免数据块在接收、存储和写入存储器的过程中因出现错误而影响升级数据的有效性。通过crc校验可提升了系统软件升级的可靠性。

s260:当获取到系统软件升级指令时,根据升级指令,将升级数据覆盖存储器中的原始数据以进行升级。

本实施例在上述实施例的基础上,通过对接收到的至少一个数据块按照序号依次递增的方式交替存储到缓存区域中,可为后续将数据块写入到存储器的正确位置提供保障,同时也提高了数据写入的速度,进一步提高了系统软件的升级速率,减少了用户的等待时间,达到提升用户体验的效果。

实施例三

图4为本发明实施例三提供的一种电视机系统软件的升级装置的结构框图。该装置可由软件和/或硬件实现,一般可集成在数字电视一体机或机顶盒中。如图4所示,该装置包括:升级数据识别模块310、升级数据接收模块320和升级模块330。

其中,升级数据识别模块310,用于根据预设识别标识判断接收到的传输流中是否存在升级数据;升级数据接收模块320,用于如果存在所述升级数据,则启动多线程并行请求并接收所述升级数据;升级模块330,用于将所述升级数据写入对应的存储器以进行升级。

本发明实施例提供了一种电视机系统软件的升级装置,通过根据预设识别标识判断接收到的传输流中如果存在升级数据,则启动多线程并行请求并接收该升级数据。相对于现有技术提供的单线程串行传输数据的方式,本发明实施例的技术方案节省了数据传输的时间,提高了电视机系统软件的升级速率。通过将升级数据写入对应的存储器可对系统软件进行升级。通过采用上述技术方案,实现了电视机系统软件的快速升级,同时也解决了由于系统升级而导致的用户等待时间较长的问题,提升了用户体验。

在上述实施例的基础上,升级数据接收模块320包括:

描述信息请求单元,用于启动多线程并行请求与所述升级数据对应的描述信息;

属性信息获取单元,用于解析所述描述信息以获取所述升级数据的相关属性信息;

数据缓存单元,用于所述相关属性信息接收所述升级数据,并对所述升级数据进行缓存。

在上述实施例的基础上,所述升级数据包括至少一个数据块,所述相关属性信息包括至少一个数据块所占存储空间的大小信息、每个数据块对应的序号以及每个数据块在所述升级数据中的位置信息;相应的,所述数据缓存单元具体用于:

根据所述位置信息接收所述至少一个数据块,并根据所述大小信息为所述至少一个数据块开辟设定数量的缓存区域;

将所述至少一个数据块按照序号依次递增的方式交替存储到所述缓存区域中;

相应的,所述升级模块330具体用于:将所述缓存区域中存储的数据块写入对应的存储器,以供升级。

在上述实施例的基础上,该装置还包括:校验模块,用于在将所述缓存区域中存储的数据块写入对应的存储器之后,获取所述至少一个数据块对应的预设校验码,并根据所述预设校验码对所述至少一个数据块进行crc校验。

在上述实施例的基础上,所述升级模块330具体用于:将所述升级数据写入对应的存储器;

当获取到系统软件的升级指令时,根据所述升级指令,将所述升级数据覆盖所述存储器中的原始数据以进行升级。

在上述实施例的基础上,该装置还包括:频点切换模块,用于在启动多线程并行请求并接收所述升级数据之前,将电视机当前播放节目对应的频点切换到与所述升级数据对应的频点,以供接收。

本发明实施例提供的电视机系统软件的升级装置可执行本发明任意实施例所提供的电视机系统软件的升级方法,具备执行方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的电视机系统软件的升级方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1