软件升级方法、装置及系统与流程

文档序号:12694432阅读:279来源:国知局
软件升级方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种软件升级方法、装置及系统。



背景技术:

随着移动互联网的迅猛发展和OTT(Over The Top,通过互联网向用户提供各种应用服务)/IPTV(Internet Protocol Television,交互式网络电视)机顶盒的大规模面世,越来越多的家庭和个人在使用网络机顶盒收看电视节目,网络机顶盒在市场上占用率的增加,也给机顶盒的维护带来更多的压力和挑战,现在主流的软件升级方式都是C/S(Client/Server,客户机和服务器)架构的,机顶盒终端开机后向服务器查询是否有版本更新,发现有更新,就从升级服务器下载新版本,图1是现有技术中软件升级系统的结构框图,即一个服务器同时为多个机顶盒提供镜像下载服务。另外由于用户使用机顶盒的时间段都比较集中,所以容易出现大量机顶盒同时向服务器请求升级的情况,占用大量带宽,影响其它业务,对用户体验和运营商运维都带来一定程度的困扰。综上所述,现在机顶盒软件升级过程中主要存在以下两点问题:

1.网络机顶盒基本上都是安卓系统,系统升级包都比较大,一般都有150多兆,下载过程中长时间占用用户的带宽,给用户收看电视节目带来影响。

2.单一升级服务器面对众多的机顶盒客户端,由于CPU(Central Processing Unit,中央处理器)能力,内存大小,网络带宽等限制,可同时给机顶盒提供服务的数量非常有限,再加上机顶盒的使用场景,都是在较集中的时间段,导致所有机顶盒都完成软件升级需要的时间比较久,从而导致升级周期长。

针对在相关技术中,机顶盒软件升级占用用户带宽时间长和升级周期长的问题,尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种软件升级方法、装置及系统,以至少解决相关技术中机顶盒软件升级占用用户带宽时间长和升级周期长的问题。

根据本发明的一个方面,提供了一种软件升级方法,包括:向机顶盒的升级服务器发送软件升级请求;获取上述升级服务器返回的与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息;根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。

进一步的,上述升级数据包括:部分升级数据、全部升级数据时,根据上述地址信息获取上述第一终端已获取的升级数据,包括:根据上述地址信息从上述第一终端获取上述全部升级数据;或根据上述地址信息按照指定排序从多个上述第一终端分别获取上述部分升级数据,其中,从上述多个第一终端获取的多个部分升级数据组成上述全部升级数据。

进一步的,当从上述第一终端获取上述部分升级数据的第二终端的数量超过预设阈值时,向上述第一终端发送用于获取上述部分升级数据的请求之后,上述方法还包括:接收上述第一终端反馈的机顶盒列表信息,其中,该机顶盒列表信息包括:一个或多个第三终端的地址信息;所述第三终端已从所述第一终端获取所述部分升级数据;根据上述第三终端的地址信息从上述第三终端获取上述部分升级数据。

进一步的,上述指定排序包括:随机排序、顺序排序。

进一步的,当指定排序为随机排序时,优先获取上述机顶盒列表信息中上述部分升级数据已获取量最少的该部分升级数据。

根据本发明的一个方面,提供了另外一种软件升级方法,包括:接收第二终端发送的软件升级请求;向上述第二终端返回与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息,上述第二终端根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。

根据本发明的另一方面,提供了一种软件升级装置,包括:发送模块,用于向机顶盒的升级服务器发送软件升级请求;第一获取模块,用于获取上述 升级服务器返回的与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息;第二获取模块,用于根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。

根据本发明的一个方面,提供了一种软件升级装置,在所述升级数据包括:部分升级数据、全部升级数据时,所述第二获取模块,包括:第一获取子模块,用于根据所述地址信息从所述第一终端获取所述全部升级数据;或第二获取子模块,用于根据所述地址信息按照指定排序从多个所述第一终端分别获取所述部分升级数据,其中,从所述多个第一终端获取的多个部分升级数据组成所述全部升级数据。

根据本发明的另一方面,提供了另外一种软件升级装置,包括:接收模块,用于接收第二终端发送的软件升级请求;返回模块,用于向上述第二终端返回与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息,上述第二终端根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。

根据本发明的另一方面,提供了一种软件升级系统,包括:升级服务器,第一终端,第二终端,其中,上述升级服务器,用于接收第二终端发送的软件升级请求,并向上述第二终端发送上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息;上述第二终端,用于根据上述地址信息从上述第一终端获取上述升级数据,并根据上述升级数据进行软件升级。

进一步的,上述系统还包括:第四终端,用于在上述第二终端从上述第一终端获取上述升级数据时,向上述第二终端请求获取上述升级数据。

通过本发明,向机顶盒的升级服务器发送软件升级请求;获取上述升级服务器返回的与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息;根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。解决了现有技术中机顶盒系统软件升级占用带宽时间长和升级周期长导致的用户体验差和运营商运维困难的问题,进而达到在机顶盒终端上快速完成升级过程的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是现有技术中软件升级系统的结构框图;

图2是根据本发明实施例的软件升级方法的流程图;

图3是根据本发明实施例的软件升级系统的结构框图;

图4是根据本发明实施例的软件升级方法的另一流程图;

图5是根据本发明示例的软件升级方法的流程图;

图6是根据本发明实施例的软件升级装置第二获取模块66的结构框图;

图7是根据本发明实施例的软件升级装置的结构框图;

图8是根据本发明实施例的软件升级装置的另一结构框图;

图9是根据本发明实施例的软件升级系统的结构框图;

图10是根据本发明实施例的软件升级系统的另一结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了软件升级方法,图2是根据本发明实施例的软件升级方法的流程图,如图2所示,该流程包括如下步骤:

步骤S202,向机顶盒的升级服务器发送软件升级请求;

步骤S204,获取上述升级服务器返回的与上述软件升级请求对应的响应 信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息;

步骤S206,根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。

通过上述各个步骤,当软件新版本升级时,向机顶盒的升级服务器发送软件升级请求;获取上述升级服务器返回的与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息;根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。采用上述技术方案,解决了现有技术中机顶盒系统软件升级占用带宽时间长和升级周期长导致的用户体验差和运营商运维困难的问题,进而达到多点下载,摆脱对升级服务器性能和带宽的依赖,减少由于升级服务器性能因素带来的升级问题,缩短机顶盒的升级时间。

在一个优选的实施例中,在上述升级数据包括:部分升级数据、全部升级数据时,根据上述地址信息获取上述第一终端已获取的升级数据,包括:根据上述地址信息从上述第一终端获取上述全部升级数据;或根据上述地址信息按照指定排序从多个上述第一终端分别获取上述部分升级数据,其中,从上述多个第一终端获取的多个部分升级数据组成上述全部升级数据。

在另一个优选的实施例中,当从上述第一终端获取上述部分升级数据的第二终端的数量超过预设阈值时,向上述第一终端发送用于获取上述部分升级数据的请求之后,上述方法还包括:接收上述第一终端反馈的机顶盒列表信息,其中,该机顶盒列表信息包括:从上述第一终端获取上述部分升级数据的一个或多个第三终端的地址信息;根据上述第三终端的地址信息从上述第三终端获取上述部分升级数据。该指定排序包括:随机排序、顺序排序。当指定排序为随机排序时,优先获取上述机顶盒列表信息中上述部分升级数据已获取量最少的该部分升级数据。

基于上述实施例所提供的技术方案,以下结合一示例对上述技术方案进行说明,图3是根据本发明实施例的软件升级系统的结构框图,下面结合图3来详细描述软件升级过程。传统的机顶盒升级镜像下载都是在网络中部署一台或者多台升级服务器,所有的终端机顶盒(即本实施例中的第一终端、第二终端或者第三终端)都是围绕着服务器开展的。当数据信息量大且下载用户数目剧增时就会导致终端机顶盒下载速度缓慢甚至服务器崩溃,在本实施例中,网络中的机顶盒可以提供升级服务器的角色,各个机顶盒之间是个平 等的关系,如图3所示,每个机顶盒既可以从其它机顶盒获取服务,也要向其它机顶盒提供服务,与传统的文件共享技术有着根本的不同,是一种新兴的资源共享技术,可以使机顶盒连接到其它机顶盒进行文件下载,摆脱了单一升级服务器的限制。即网络中部署的升级服务器不再需要全职提供下载服务了,最原始的升级文件是放在这个服务器上,当机顶盒来请求这个文件,服务器就记录每个机顶盒的下载情况,后续其它机顶盒需要下载这个文件时,服务器就会向这个机顶盒提供其它拥有该镜像的机顶盒IP地址和端口,然后这个机顶盒直接与其它机顶盒通讯,从机顶盒下载文件即可,也就是服务器发送一次文件就可能不用再次发送了,因为其他机顶盒都可以从拥有该文件的机顶盒中获得。需要说明的是,实施例中机顶盒第一终端、第二终端和第三终端随着各个阶段的变化都可以互相的转变角色。例如当机顶盒终端没有软件升级数据而向服务器发出请求时,其为第二终端;当第二终端从别的机顶盒终端获取软件升级数据并为其他机顶盒终端提供升级数据下载服务时其为第一终端;当别的机顶盒终端由于向其下载软件升级数据的机顶盒终端达到预设的一个阈值时,该机顶盒终端就会将已获取软件升级数据的第一终端地址信息给需要下载的机顶盒供其下载,此时第一终端就成为了第三终端。另外为了使得下载镜像的过程不对用户观看电视带来影响,采用无界面,后台限速下载的机制。下载过程中不弹出任何提示,通过每下载一个小分块数据就休眠一段时间来平滑控制下载的带宽,让用户对下载镜像的过程无感知。

在本实施例中提供了一种软件升级方法,图4是根据本发明实施例的软件升级方法的另一流程图,下面结合图4来详细描述软件升级过程。为了方便说明,把参与一个特定文件下载的所有机顶盒的集合称为一个会话。在一个会话中,本实施例中升级数据为部分升级数据,且部分升级数据为等长度的文件块,块长度可以根据实际情况确定,比如32KB。当一个机顶盒开始加入一个会话时,它没有文件块。但是随着时间的推移,它将累积到越来越多的文件块。当它下载文件块时,也为其他机顶盒上传它已经下载好的文件块,这样只要加入会话的机顶盒越多,下载速度也就越快。机顶盒一旦获得了整个文件,继续停留一段时间,为其它机顶盒上传文件块。

如图4所示,机顶盒系统中发现版本需要更新时,软件升级步骤为:

步骤S401,机顶盒1向升级服务器请求下载文件;

步骤S402,服务器把已经下载完成和已经下载完部分升级数据块的机顶 盒信息(至少包括IP(Internet Protocol,网络之间互连的协议)地址和端口号)返回给当前请求的机顶盒1;

步骤S403,机顶盒1解析服务器返回的信息获取可下载列表;

步骤S404,当数据块A在机顶盒系统中还没有被哪个机顶盒所获取,机顶盒1则要向升级服务器处下载数据A;

步骤S405,连接列表中的机顶盒2下载分块数据C;

步骤S406,机顶盒1向升级服务器共享已经下载好的分块;

步骤S407,机顶盒1同时给机顶盒3提供服务拱其下载分块A;

步骤S408,机顶盒2向机顶盒3请求下载其已获取的分块数据;

步骤S409,机顶盒1从机顶盒3下载分块数据B;

步骤S410,机顶盒1所有分块数据下载完成,执行MD5(Message-Digest Algorithm5,信息-摘要算法5)效验确保文件下载成功;

步骤S411,机顶盒1继续给其他机顶盒提供数据下载服务;

步骤S412,当机顶盒系统中所有机顶盒升级完毕,机顶盒1宣告停止下载服务。

在本实施例中提供了一种软件升级方法,图5是根据本发明示例的软件升级方法的流程图,如图5所示,该方法包括:

步骤S502,当软件版本更新时,接受第二终端发送的软件升级请求;

步骤S504,向上述第二终端返回与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息,上述第二终端根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。

通过上述各个步骤,当软件版本更新时,接受第二终端发送的软件升级请求;向上述第二终端返回与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息,上述第二终端根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。通过上述技术方案,解决了现有技术中机顶盒系统软件升级 占用带宽时间长和升级周期长导致的用户体验差和运营商运维困难的问题,进而达到在机顶盒终端上快速完成升级过程的效果。

在本发明实施中,针对下载分块数据的排序,本发明实施例主要提供了两种技术方案:(1)顺序排序;(2)随机排序。

第一种情况:(1)顺序排序

在本示例中还提供了一种机顶盒按照顺序排序下载分块数据的软件升级方法,在一个文件的下载会话里,所有的机顶盒在逻辑上形成一个互相连接的状态。机顶盒与升级服务器之间,机顶盒与机顶盒都是相互连接,相互之间都提供下载和上传服务。

机顶盒按分块数据顺序排序下载时,每下载完一个分块,就向服务器报告其拥有的分块信息,并对外提供对应的下载服务,具体实施步骤如下:

步骤A,机顶盒向升级服务器请求下载镜像文件,服务器返回当前正在下载这个文件的机顶盒信息,这个信息至少包括机顶盒的IP,端口,以及所拥有的文件分块;

步骤B,机顶盒根据这些信息,按照分块的顺序查找提供这个分块数据的机顶盒,并连接到这个机顶盒中下载对应的分块数据,如果还没有任何机顶盒提供了这个分块,则就从升级服务器上下载;

步骤C,机顶盒下载完某个机顶盒上的分块以后,向服务器报告其拥有的分块信息,同时提供下载服务,方便提供给其它机顶盒下载;

步骤D,接着向其它机顶盒或者升级服务器请求下载其它还未下载的分块;

步骤E,依次循环C、D步骤,直到所有分块都下载完;

步骤F,升级数据下载完,对整个文件执行MD5校验,确保文件下载正常;

步骤G,继续对外提供这个文件的下载服务;

步骤H,超过一定的时间以后,停止对外的服务,本次下载完成。

第二种情况:(2)随机排序

在本示例中提供了一种机顶盒按照随机排序下载分块数据的软件升级方 法,机顶盒采用随机排序下载分块的方法,每下载完一个分块,就向服务器报告其拥有的分块信息,并对外提供对应的下载服务,具体实施步骤如下:

步骤A,机顶盒向升级服务器请求下载镜像文件,服务器返回当前正在下载这个文件的机顶盒信息,这个信息至少包括机顶盒的IP,端口,以及所有已经下载好的文件分块;

步骤B,机顶盒根据分块数据分布信息,计算出当前机顶盒还未下载,而且在整个网络中的拥有数是最少的分块数据,连接拥有这个分块数据的机顶盒进行下载,如果这个分块在所有的机顶盒中都还不存在,就从升级服务器上下载;

步骤C,机顶盒下载完某个机顶盒上的分块以后,向服务器报告其拥有的分块信息,并提供下载服务,方便其它机顶盒下载;同时服务器返回网络中最新的分块数据分布信息,机顶盒继续下载其它分块;

步骤D,依次循环上述步骤,直到所有分块都下载完;

步骤E,升级数据下载完,对整个文件执行MD5校验,确保文件下载正常;

步骤F,继续对外提供这个文件的下载服务;

步骤G,超过一定的时间以后,停止对外的服务,本次下载完成。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例上述的方法。

在本实施例中还提供了一种软件升级装置,对应上述步骤S202-S206,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是根据本发明实施例的软件升级装置的结构框图,如图6所示,该 装置包括如下模块:

发送模块62,用于向机顶盒的升级服务器发送软件升级请求;

第一获取模块64,与发送模块62连接,用于获取上述升级服务器返回的与上述软件升级请求对应的响应信息,其中,上述响应信息用于指示是否存在已获取升级数据的第一终端,当存在已获取升级数据的第一终端时,该响应信息为上述第一终端的地址信息;

第二获取模块66,与第一获取模块64连接,用于根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。

通过上述各个模块的综合作用,发送模块62向机顶盒的升级服务器发送软件升级请求,第一获取模块64获取上述升级服务器返回的与上述软件升级请求对应的响应信息,响应信息用于指示已获取升级数据的第一终端的地址信息,第二获取模块66根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。解决了现有技术中机顶盒系统软件升级占用带宽时间长和升级周期长导致的用户体验差和运营商运维困难的问题,进而达到多点下载,摆脱对升级服务器性能和带宽的依赖,减少由于升级服务器性能因素带来的升级问题,缩短机顶盒的升级时间。

在一个优选的软件升级装置中,当在上述升级数据包括:部分升级数据、全部升级数据时,第二获取模块66,包括:第一获取子模块662,用于根据上述地址信息从上述第一终端获取上述全部升级数据;或第二获取子模块664,用于根据上述地址信息按照指定排序从多个上述第一终端分别获取上述部分升级数据,其中,从上述多个第一终端获取的多个部分升级数据组成上述全部升级数据。

在本实施例中还提供了另一种软件升级装置,对应上述步骤S502-S504,如图8根据本发明实施例的软件升级装置的另一结构框图所示,该装置包括如下模块:

接收模块82,用于接收第二终端发送的软件升级请求;

返回模块84,与接收模块82连接,用于向上述第二终端返回与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息,上述第二终端根据上述地址信息获取上述第一终端已获 取的升级数据,并根据上述升级数据进行软件升级。

通过上述各个模块的综合作用,接收模块82接收第二终端发送的软件升级请求;返回模块84向上述第二终端返回与上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端的地址信息,上述第二终端根据上述地址信息获取上述第一终端已获取的升级数据,并根据上述升级数据进行软件升级。采用上述技术方案,解决了现有技术中机顶盒系统软件升级占用带宽时间长和升级周期长导致的用户体验差和运营商运维困难的问题,进而达到多点下载,摆脱对升级服务器性能和带宽的依赖,减少由于升级服务器性能因素带来的升级问题,缩短机顶盒的升级时间。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

在本实施例中,还提供了一种软件升级系统,图8是根据本发明实施例的软件升级系统的结构框图,如图9所示,该系统包括:升级服务器94,第一终端92,第二终端96,其中,升级服务器94,用于接收第二终端96发送的软件升级请求,并向第二终端96发送上述软件升级请求对应的响应信息,其中,该响应信息用于指示已获取升级数据的第一终端92的地址信息;第二终端96,用于根据上述地址信息从第一终端92获取上述升级数据,并根据上述升级数据进行软件升级。

在一个可选示例中,如图10根据本发明实施例的软件升级系统的另一结构框图所示上述系统还包括第四终端98,该第四终端98,用于在第二终端96从第一终端92获取上述升级数据时,向第二终端96请求获取上述升级数据。

为了更好的理解上述技术方案,以下结合优选实施例对上述技术方案进行说明,但不用于限定本发明实施例的保护方案,具体如下:

在本发明优选实施例中提供了一种机顶盒下载完全部升级数据后才开始提供下载服务的软件升级方法,具体实施步骤如下:

步骤A,机顶盒向升级服务器请求下载升级数据,服务器返回当前已经拥有这个全部升级数据的机顶盒信息,这个信息至少包括机顶盒的IP,端口;

步骤B,机顶盒根据这些信息,连接到对应的机顶盒,下载这个机顶盒中 的全部升级数据,如果这个机顶盒当前的连接数超过预设阈值,那就继续尝试下一个机顶盒,直到找到一个可以提供服务的机顶盒,如果到最后都没有可供下载的机顶盒,就从升级服务器上下载;

步骤C,全部升级数据下载完,对整个文件执行MD5校验,确保文件下载正常,校验通过后执行升级数据包的安装,并向服务器反馈已经下载完成的状态,同时开启下载服务;

步骤D,对外提供这个全部升级数据的下载服务,供其它机顶盒下载;

步骤E,超过一定的时间以后,停止对外的下载服务。

在本发明优选实施例中还提供了一种机顶盒记录从其下载过部分数据分块的机顶盒下载信息的软件升级方法。机顶盒每下载完一个部分数据分块,不需要向服务器报告其拥有的部分数据分块信息,由提供下载的服务器或者机顶盒记录这个信息,假设每个机顶盒只能允许同时2个机顶盒从它上面下载部分数据分块,这样当机顶盒1连接到机顶盒2开始查询下载某个部分数据分块时,如果机顶盒2当前提供的下载服务还没到预设阈值,那么机顶盒1就可以从机顶盒2开始下载部分数据分块;否则如果机顶盒2当前提供的服务已经到了预设阈值,返回一个包含了之前已经从机顶盒2下载过或者正在下载这个部分数据分块的机顶盒列表,这样机顶盒1就获取到其它拥有这个部分数据分块的机顶盒信息,依次这样循环下去,机顶盒1可以获取到越来越多拥有这个部分数据分块的机顶盒信息,可为其提供下载服务的机顶盒也越来越多,具体实施步骤如下:

步骤A,机顶盒向升级服务器请求下载部分数据分块,服务器返回之前从它这里下载过部分数据分块的机顶盒信息,这个信息至少包括机顶盒的IP,端口,以及所拥有的部分数据分块情况;

步骤B,机顶盒根据升级服务器返回的信息,连接到列表中的所描述的机顶盒,查询是否可以从它上面下载该部分数据分块,如果这个机顶盒可以提供下载服务,那就从这个机顶盒中下载对应的部分数据分块;如果这个机顶盒当前提供的下载服务已经到了预设阈值,无法再提供下载服务,就返回一个从它这里下载过或者正在下载的机顶盒列表信息,机顶盒再从这个列表里选择机顶盒去下载对应的部分数据分块,如果最终没有任何机顶盒提供了这个部分数据分块,则就从升级服务器上下载;

步骤C,机顶盒下载完某个部分数据分块以后,提供下载服务的机顶盒或者升级服务器就记录这个信息,提供给后续其它机顶盒下载;

步骤D,根据步骤B中的机顶盒列表信息,接着向其它机顶盒或者升级服务器请求下载其它还未下载的部分数据分块;

步骤E,依次循环B、C、D步骤,直到所有部分数据分块都下载完;

步骤F,全部数据分块下载完,对整个文件执行MD5校验,确保文件下载正常;

步骤G,继续对外提供这个文件的下载服务。

综上所述,本发明实施例达到了以下技术效果:解决了现有技术中机顶盒系统软件升级占用带宽时间长和升级周期长导致的用户体验差和运营商运维困难的问题,进而达到多点下载,摆脱对升级服务器性能和带宽的依赖,减少由于升级服务器性能因素带来的升级问题,缩短机顶盒的升级时间;后台下载,每次只下载小块的文件分块,升级过程不会对用户收看电视节目带来影响,提升用户体验的效果。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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