CN103581710A - 升级服务器、机顶盒及其软件升级方法 - Google Patents
升级服务器、机顶盒及其软件升级方法 Download PDFInfo
- Publication number
- CN103581710A CN103581710A CN201310517393.9A CN201310517393A CN103581710A CN 103581710 A CN103581710 A CN 103581710A CN 201310517393 A CN201310517393 A CN 201310517393A CN 103581710 A CN103581710 A CN 103581710A
- Authority
- CN
- China
- Prior art keywords
- software
- upgrade
- top box
- set top
- data slice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种升级服务器、机顶盒及其软件升级方法,所述方法包括:升级服务器对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中;并每隔设定时间,向升级请求队列中的各IP地址的机顶盒,发送升级软件的各数据片;升级服务器对于接收的每个数据接收错误通知信息,从中解析出发送方的IP地址,以及数据片的ID,并对于每个解析出的数据片的ID,将解析出的IP地址加入到对应该数据片的ID的重发队列中;并每隔设定时间,对于每个数据片的ID,向对应该数据片的ID的重发队列中的各IP地址的机顶盒重发该数据片。从而提高了软件升级成功率,节省了网络带宽。
Description
技术领域
本发明涉及机顶盒技术,尤其涉及一种升级服务器、机顶盒及其软件升级方法。
背景技术
数字视频变换盒(STB,Set Top Box),通常称作机顶盒。机顶盒通过连接电视机与外部信号源,将压缩的数字信号转成电视内容,并在电视机上显示出来,使用户能在电视机上观看数字电视节目,并可通过网络进行交互式数字化娱乐、教育和商业化活动。
随着数字电视产业的发展,机顶盒用户规模不断扩大。为更好地满足用户需求,提升用户体验,机顶盒厂商提供的机顶盒的软件版本在逐渐增多。机顶盒厂商为开通新的业务,或解决机顶盒软件缺陷等,通常需要对机顶盒进行软件升级。现有的机顶盒进行软件升级的方法,通常是升级服务器和机顶盒建立一对一的升级连接,机顶盒通过广电网接收到升级服务器广播的软件升级消息后,判断本机顶盒是否需要进行升级;若是,则该机顶盒向升级服务器发送升级请求,升级服务器根据升级请求向该机顶盒返回软件升级文件;该机顶盒接收软件升级文件,进行文件更新实现软件升级。
然而,目前机顶盒的功能日益丰富,一些机顶盒的软件的体积越来越大,若软件升级所涉及的升级文件较多(比如,升级软件的主版本号改变),机顶盒在进行软件升级文件下载时,占用的时间较长,易因广电网络出现阻塞或中断而导致软件升级失败,使得机顶盒软件升级成功率较低;而且,现有的机顶盒软件升级方法中,若机顶盒接收到升级服务器广播的软件升级消息后,在短时间内大批的机顶盒向升级服务器请求升级,易导致升级服务器的负荷过大,造成升级服务器瘫痪,而且占用较大的网络带宽。
综上所述,现有的机顶盒软件升级方法的软件升级占用时间较长,升级成功率较低,且易浪费网络带宽。
发明内容
针对上述现有技术存在的缺陷,本发明提供了一种升级服务器、机顶盒及其软件升级方法,用以提高软件升级成功率,节省网络带宽。
本发明提供了一种机顶盒软件升级方法,包括:
升级服务器对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中;并每隔设定时间,向所述升级请求队列中的各IP地址的机顶盒,发送升级软件的各数据片;
所述升级服务器对于接收的每个数据接收错误通知信息,从中解析出发送方的IP地址,以及数据片的ID,并对于每个解析出的数据片的ID,将解析出的IP地址加入到对应该数据片的ID的重发队列中;并每隔设定时间,对于每个数据片的ID,向对应该数据片的ID的重发队列中的各IP地址的机顶盒重发该数据片。
较佳地,所述升级服务器每隔设定时间,采用多播技术向所述升级请求队列中的各IP地址的机顶盒发送的升级软件的各数据片时,还包括:发送所述升级软件的分片信息;以及
所述数据接收错误通知信息具体是机顶盒根据接收到的分片信息确定出所述升级软件的数据接收错误后,向所述升级服务器返回的;
其中,所述机顶盒根据接收到的分片信息确定出所述升级软件的数据接收错误,具体为:该机顶盒解析出接收的分片信息中记录的数据片的个数,与所述机顶盒接收到的、校验成功的数据片的个数进行比较;若比较结果为不相等,则确定出所述升级软件的数据接收错误。
较佳地,所述升级服务器对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中之前,还包括:
所述升级服务器通过广电网广播软件升级消息;其中,所述软件升级消息中记录有厂商号、硬件版本号、软件版本号、升级序列号范围。
本发明还提供了一种机顶盒软件升级方法,包括:
机顶盒向升级服务器发送软件升级请求后,进入升级软件接收状态;
所述机顶盒接收到升级服务器发送的升级软件的分片信息和数据片后,对于每个接收的数据片分别分配子线程进行数据接收和校验;
在设定时间段后,若所述机顶盒根据接收的分片信息确定出所述升级软件的数据接收错误,则将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向所述升级服务器返回;
所述机顶盒对于每个接收的、由所述升级服务器重发的数据片分别分配子线程进行数据接收和校验后,若根据所述分片信息确定出所述升级软件的数据接收成功,则根据所述分片信息对接收的各数据片进行排序组装得到升级软件,根据得到的升级软件进行升级。
较佳地,所述机顶盒根据接收的分片信息确定出所述升级软件的数据接收错误或成功,具体包括:
所述机顶盒解析出接收的分片信息中记录的数据片的个数,与所述机顶盒接收到的、校验成功的数据片的个数进行比较;若比较结果为不相等,则确定出所述升级软件的数据接收错误;若所述比较结果为相等,则确定出所述升级软件的数据接收成功。
较佳地,所述机顶盒向升级服务器发送软件升级请求之前,还包括:
所述机顶盒接收到所述升级服务器发送的软件升级消息后,对其进行解析;并根据从中解析出的厂商号、硬件版本号、软件版本号、升级序列号范围,判断本机顶盒是否需要进行软件升级:若确定出本机顶盒的厂商号、硬件版本号与解析出的厂商号、硬件版本号相同,本机顶盒的序列号在解析出的升级序列号范围内,且本机顶盒的软件版本号小于解析出的软件版本号,则判断出本机顶盒需要进行软件升级;否则,判断出本机顶盒不需要进行软件升级;以及
所述机顶盒向升级服务器发送软件升级请求,具体为:
若所述机顶盒判断出本机顶盒需要进行软件升级,则向所述升级服务器发送软件升级请求。
本发明还提供了一种升级服务器,包括:
信息处理模块,用于对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中;对于接收的每个数据接收错误通知信息,从中解析出发送方的IP地址,以及数据片的ID,并对于每个解析出的数据片的ID,将解析出的IP地址加入到对应该数据片的ID的重发队列中;
数据片发送模块,用于每隔设定时间,向所述升级请求队列中的各IP地址的机顶盒,发送升级软件的各数据片;
数据片重发模块,用于每隔设定时间,对于每个数据片的ID,向对应该数据片的ID的重发队列中的各IP地址的机顶盒重发该数据片。
较佳地,所述信息处理模块还用于通过广电网向机顶盒广播软件升级消息;其中,所述软件升级消息中记录有厂商号、硬件版本号、软件版本号、升级序列号范围;以及
所述数据片发送模块还用于每隔设定时间,采用多播技术向所述升级请求队列中的各IP地址的机顶盒发送所述升级软件的分片信息。
本发明还提供了一种机顶盒,包括:请求发送模块、数据接收校验模块、数据接收判断模块以及软件升级模块;其中,
所述请求发送模块用于向升级服务器发送软件升级请求后,发送数据接收通知;
所述数据接收校验模块用于在接收到所述数据接收通知后,进入升级软件接收状态,并在接收到升级软件的分片信息和数据片后,对于每个接收的数据片分别分配子线程进行数据接收和校验,并将校验成功的数据片保存在内存中;在接收到所述数据接收判断模块发送的数据重收通知后,进入升级软件重收状态,对于每个接收的、由所述升级服务器重发的数据片分别分配子线程进行数据接收和校验,并将校验成功的数据片保存在所述内存中;
所述数据接收判断模块用于接收到所述数据接收通知后,进入升级软件接收状态;并在进入升级软件接收状态的设定时间段后,若根据所述分片信息确定出所述升级软件的数据接收错误,则将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向所述升级服务器返回,并发送所述数据重收通知;若根据所述分片信息确定出所述升级软件的数据接收成功,则向所述软件升级模块发送软件升级通知;
所述软件升级模块用于接收到所述软件升级通知后,根据所述分片信息对所述内存中保存的各数据片进行排序组装得到升级软件,根据得到的升级软件进行升级。
较佳地,所述数据接收判断模块具体用于解析出接收的分片信息中记录的数据片的个数、数据片的ID,将解析出的数据片的个数与所述内存中保存的数据片的个数进行比较;若比较结果为不相等,则判断出所述升级软件的数据接收错误,并根据解析出的数据片的ID确定出数据错误或不完整的数据片的ID,将确定出的数据片的ID携带在所述数据接收错误通知信息中向所述升级服务器返回后,发送所述数据重收通知;若比较结果为相等,则确定出所述升级软件的数据接收成功,并向所述软件升级模块发送所述软件升级通知。
本发明的技术方案中,由于升级服务器在接收到机顶盒的软件升级请求后,将请求升级的机顶盒的IP地址加入到升级请求队列中;并每隔设定时间,将数据片和分片信息向升级请求队列中的IP地址的机顶盒发送;机顶盒启动多子线程并发接收升级服务器发送的数据片和分片信息,而且在确定出升级软件的数据接收错误后,将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向升级服务器返回;升级服务器根据数据接收错误通知信息中的数据片的ID,重新向机顶盒发送这些数据错误或不完整的数据片;从而,减轻了升级服务器的负荷,节省了网络带宽,并提高了软件升级的成功率。
附图说明
图1为本发明实施例的机顶盒软件升级方法的流程图;
图2为本发明实施例的升级服务器的内部结构框图;
图3为本发明实施例的机顶盒的内部结构框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
本发明的发明人考虑到,可以预先将升级软件划分为多个数据片,对每个数据片添加数据片的ID,并生成升级软件的分片信息,该分片信息中记录有数据片的个数、数据片的顺序,以及各数据片的ID、各数据片的大小等信息;升级服务器可在接收到机顶盒的软件升级请求后,将请求升级的机顶盒的IP地址加入到升级请求队列中;之后,升级服务器采用多播技术,将数据片和分片信息向升级请求队列中的IP地址的机顶盒发送;机顶盒启动多线程并发接收升级服务器发送的数据片和分片信息,而且在确定出升级软件的数据接收错误后,并将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向升级服务器返回;升级服务器根据数据接收错误通知信息中的数据片的ID,重新向机顶盒发送这些数据错误或不完整的数据片;从而,减轻了升级服务器的负荷,节省了网络带宽,并提高了软件升级的成功率。
下面结合附图详细说明本发明实施例的技术方案。本发明实施例提供的机顶盒软件升级方法的流程,如图1所示,具体包括如下步骤:
S101:升级服务器通过广电网广播软件升级消息。
具体地,机顶盒生产厂商对机顶盒的软件进行升级时,可通过升级服务器广播软件升级消息;通常,软件升级消息中记录有生产厂商的厂商号、机顶盒的硬件版本号、升级软件的软件版本号、升级序列号范围等。
S102:机顶盒接收到软件升级消息后,解析出其中的厂商号、硬件版本号、软件版本号、升级序列号范围,判断本机顶盒是否需要进行软件升级,若是,则执行下述步骤S103;否则,忽略该软件升级消息。
具体地,机顶盒接收到升级服务器广播的软件升级消息后,解析出其中的厂商号、硬件版本号、软件版本号、升级序列号范围,若确定出本机顶盒的厂商号、硬件版本号与解析出的厂商号、硬件版本号相同,本机顶盒的序列号在解析出的序列号范围内,且本机顶盒的软件版本号小于解析出的软件版本号,则判断出本机顶盒需要进行软件升级;否则,判断出本机顶盒不需要进行软件升级,忽略软件升级消息。
S103:机顶盒向升级服务器发送携带本机顶盒的IP地址的软件升级请求。
具体地,若机顶盒判断出本机顶盒需要进行软件升级,则向升级服务器发送软件升级请求,该软件升级请求中携带有本机顶盒的IP地址。
S104:升级服务器对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中。
具体地,升级服务对于接收的每个软件升级请求,对其进行解析,将解析出的发送方的IP地址加入到升级请求队列中。其中,发送方的IP地址也就是机顶盒的IP地址。
S105:升级服务器每隔设定时间,向升级请求队列中的各IP地址的机顶盒发送升级软件的各数据片和分片信息。
具体地,可以预先将升级软件划分为多个数据片,对每个数据片添加上ID、CRC值,并生成升级软件的分片信息,该分片信息中记录有升级软件的数据片的个数、数据片的顺序,以及升级软件的各数据片的ID、CRC(CyclicRedundancy Check,循环冗余校验码)值、大小等。在本步骤中,升级服务器每隔设定时间,将预先划分的升级软件的各数据片和分片信息,采用多播技术向升级请求队列中的各IP地址的机顶盒发送;其中,设定时间具体有本领域技术人员进行设定。
S106:对于每个升级请求队列中的IP地址的机顶盒,该机顶盒接收到升级服务器发送的升级软件的分片信息和数据片后,对于每个接收的数据片分别分配子线程进行数据接收和校验。
在本步骤中,该机顶盒接收到升级服务器发送的升级软件的分片信息和数据片后,根据本机顶盒的内存资源情况,启动多个子线程,对于每个接收的数据片分别分配子线程进行数据接收和校验;其中,对于每个接收的数据片的校验具体为:对接收的该数据片进行CRC校验,若得出的CRC值与该数据片携带的CRC值相等,则该数据片校验成功,将该数据片保存在内存中;否则,检验该数据片的子线程丢弃该数据片。由于在接收升级软件的各数据片时,可以不按照划分的数据片的顺序进行接收,可以提高软件升级的效率和速度,尤其对于数据量较大的升级软件,提高软件升级的效率和速度将更为明显。
S107:在设定时间段后,若该机顶盒根据接收的分片信息确定出升级软件的数据接收错误,则执行步骤S108;若该机顶盒根据接收的分片信息确定出升级软件的数据接收成功,则跳转到步骤S112。
具体地,该机顶盒解析出接收的分片信息中记录的数据片的个数,与该机顶盒接收到的、校验成功的数据片的个数进行比较;若比较结果为不相等,则确定出升级软件的数据接收错误;若比较结果为相等,则确定出升级软件的数据接收成功。其中,该机顶盒接收到的、校验成功的数据片保存在本机顶盒的内存中。
S108:该机顶盒将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向升级服务器返回。
具体地,该机顶盒根据分片信息中记录的数据片的ID,以及校验成功的数据片的ID,确定出数据错误或不完整的数据片的ID,并将确定出的数据片的ID携带在数据接收错误通知信息中向升级服务器返回。
S109:升级服务器对于接收的每个数据接收错误通知信息,从中解析出发送方的IP地址,以及数据片的ID,并对于每个解析出的数据片的ID,将解析出的IP地址加入到对应该数据片的ID的重发队列中。
具体地,升级服务器还针对每个数据片的ID,创建有对应该数据片的ID的重发队列;在本步骤中,升级服务器对于接收的每个数据接收错误通知信息,解析出其中的发送方的IP地址以及数据片的ID,并对于每个解析出的数据片的ID,将解析出的IP地址加入到对应该数据片的ID的重发队列中
S110:升级服务器每隔设定时间,对于每个数据片的ID,向对应该数据片的ID的重发队列中的各IP地址的机顶盒重发该数据片。
具体地,升级服务器每个设定时间,对于每个数据片的ID,可采用多播技术向对应该数据片的ID的重发队列中的各IP地址的机顶盒重发该数据片。
S111:该机顶盒对于每个接收的、由升级服务器重发的数据片,分别分配子线程进行数据接收和校验后,根据分片信息确定出升级软件的数据是否接收成功;若是,则执行步骤S112;否则,执行步骤S113。
S112:该机顶盒根据分片信息对接收的各数据片进行排序组装得到升级软件,根据得到的升级软件进行升级。
具体地,该机顶盒解析出分片信息中记录的数据片的顺序,根据解析出的数据片的顺序,对接收的各数据片进行排序组装得到升级软件,根据得到的升级软件进行升级;其中,该机顶盒根据得到的升级软件进行升级具体可以为:机顶盒根据升级软件的数据携带的存储地址,擦除本机顶盒的Flash中该存储地址所对应的存储空间,将得到的升级软件写入到Flash中的该存储空间中。
进一步,若该机顶盒根据得到的升级软件进行升级的结果为升级成功,则向升级服务器返回软件升级成功通知信息;否则,向升级服务器返回软件升级失败通知信息。这样,升级服务器可以根据机顶盒上报给本服务器的升级软件失败通知信息,或软件升级成功通知信息,对机顶盒进行软件升级的升级结果进行统计。
例如,升级软件失败通知信息、软件升级成功通知信息中可以记录有机顶盒的IP地址、硬件版本号、软件版本号、序列号等;升级服务器若接收到机顶盒发送的数据接收错误通知信息,解析出其中的IP地址、硬件版本号、软件版本号、序列号后,将数据库中该IP地址对应的升级结果记录为升级失败,并将升级失败的次数加1,且对应该IP地址记录下解析出的硬件版本号、软件版本号、序列号;若接收到机顶盒发送的软件升级成功通知信息,解析出其中的IP地址、硬件版本号、软件版本号、序列号后,将数据库中该IP地址对应的升级结果记录为升级成功,并将升级成功的次数加1,且对应该IP地址记录下解析出的硬件版本号、软件版本号、序列号。从而,可以从数据库中,读取出针对某一序列号的机顶盒的软件历史升级记录,比如升级失败次数等,可以方便机顶盒厂商的技术支持和维修工作。
S113:该机顶盒根据设定的数据接收错误通知信息的发送上限进行处理。
例如,若设定的数据接收错误通知信息的发送上限为两次,则机顶盒不再向升级服务器发送数据接收错误通知信息,可以直接向升级服务器发送软件升级失败通知信息。若设定数据接收错误通知信息的发送上限为三次,则机顶盒可以再次向升级服务器发送携带接收错误或不完整的数据片的ID的数据接收错误通知信息。
基于上述的机顶盒软件升级方法,本发明实施例提供的升级服务器的内部结构框图如图2所示,具体包括:信息处理模块201、数据片发送模块202和数据片重发模块203。
信息处理模块201用于对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中;对于接收的每个数据接收错误通知信息,从中解析出发送方的IP地址,以及数据片的ID,并对于每个解析出的数据片的ID,将解析出的IP地址加入到对应该数据片的ID的重发队列中。进一步,信息处理模块201还用于通过广电网向机顶盒广播软件升级消息;其中,软件升级消息中记录有厂商号、硬件版本号、软件版本号、升级序列号范围。
数据片发送模块202用于每隔设定时间,向升级请求队列中的各IP地址的机顶盒,发送升级软件的各数据片;进一步,数据片发送模块202还用于每隔设定时间,向升级请求队列中的各IP地址的机顶盒发送升级软件的分片信息。
数据片重发模块203用于每隔设定时间,对于每个数据片的ID,向对应该数据片的ID的重发队列中的各IP地址的机顶盒重发该数据片。
基于上述的机顶盒软件升级方法,本发明实施例提供的机顶盒的内部结构框图如图3所示,具体包括:请求发送模块301、数据接收校验模块302、数据接收判断模块303和软件升级模块304。
请求发送模块301用于向升级服务器发送软件升级请求后,发送数据接收通知。
数据接收校验模块302用于在接收到请求发送模块301发送的数据接收通知后,进入升级软件接收状态,并在接收到升级软件的分片信息和数据片后,对于每个接收的数据片分别分配子线程进行数据接收和校验,并将校验成功的数据片保存在内存中;在接收到数据接收判断模块303发送的数据重收通知后,进入升级软件重收状态,对于每个接收的、由升级服务器重发的数据片分别分配子线程进行数据接收和校验,并将校验成功的数据片保存在内存中。进一步,数据接收校验模块302在接收到数据接收判断模块303发送的软件升级通知后,进入升级软件接收完毕状态。
数据接收判断模块303用于接收到请求发送模块301发送的数据接收通知后,进入升级软件接收状态;并在进入升级软件接收状态设定时间段后,若根据分片信息确定出升级软件的数据接收错误,则将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向升级服务器返回,并发送数据重收通知;若根据分片信息确定出升级软件的数据接收成功,则发送软件升级通知,并进入升级软件接收完毕状态。
软件升级模块304用于接收到数据接收判断模块303发送的软件升级通知后,根据分片信息对内存中保存的各数据片进行排序组装得到升级软件,根据得到的升级软件进行升级。
其中,上述的数据接收判断模块303具体用于解析出接收的分片信息中记录的数据片的个数、数据片的ID,将解析出的数据片的个数与内存中保存的数据片的个数进行比较;若比较结果为不相等,则判断出升级软件的数据接收错误,并根据解析出的数据片的ID确定出数据错误或不完整的数据片的ID,将确定出的数据片的ID携带在数据接收错误通知信息中向升级服务器返回后,发送数据重收通知;若比较结果为相等,则确定出升级软件的数据接收成功,并向软件升级模块304发送软件升级通知。
综上所述,本发明的技术方案中,升级服务器在接收到机顶盒的软件升级请求后,将请求升级的机顶盒的IP地址加入到升级请求队列中;并每隔设定时间,将数据片和分片信息向升级请求队列中的IP地址的机顶盒发送;机顶盒启动多子线程并发接收升级服务器发送的数据片和分片信息,而且在确定出升级软件的数据接收错误后,将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向升级服务器返回;升级服务器根据数据接收错误通知信息中的数据片的ID,重新向机顶盒发送这些数据错误或不完整的数据片;从而,减轻了升级服务器的负荷,节省了网络带宽,并提高了软件升级的成功率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种机顶盒软件升级方法,其特征在于,包括:
升级服务器对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中;并每隔设定时间,向所述升级请求队列中的各IP地址的机顶盒,发送升级软件的各数据片;
所述升级服务器对于接收的每个数据接收错误通知信息,从中解析出发送方的IP地址,以及数据片的ID,并对于每个解析出的数据片的ID,将解析出的IP地址加入到对应该数据片的ID的重发队列中;并每隔设定时间,对于每个数据片的ID,向对应该数据片的ID的重发队列中的各IP地址的机顶盒重发该数据片。
2.如权利要求1所述的方法,其特征在于,所述升级服务器每隔设定时间,采用多播技术向所述升级请求队列中的各IP地址的机顶盒发送的升级软件的各数据片时,还包括:发送所述升级软件的分片信息;以及
所述数据接收错误通知信息具体是机顶盒根据接收到的分片信息确定出所述升级软件的数据接收错误后,向所述升级服务器返回的;
其中,所述机顶盒根据接收到的分片信息确定出所述升级软件的数据接收错误,具体为:该机顶盒解析出接收的分片信息中记录的数据片的个数,与所述机顶盒接收到的、校验成功的数据片的个数进行比较;若比较结果为不相等,则确定出所述升级软件的数据接收错误。
3.如权利要求1或2所述的方法,其特征在于,所述升级服务器对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中之前,还包括:
所述升级服务器通过广电网广播软件升级消息;其中,所述软件升级消息中记录有厂商号、硬件版本号、软件版本号、升级序列号范围。
4.一种机顶盒软件升级方法,其特征在于,包括:
机顶盒向升级服务器发送软件升级请求后,进入升级软件接收状态;
所述机顶盒接收到升级服务器发送的升级软件的分片信息和数据片后,对于每个接收的数据片分别分配子线程进行数据接收和校验;
在设定时间段后,若所述机顶盒根据接收的分片信息确定出所述升级软件的数据接收错误,则将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向所述升级服务器返回;
所述机顶盒对于每个接收的、由所述升级服务器重发的数据片分别分配子线程进行数据接收和校验后,若根据所述分片信息确定出所述升级软件的数据接收成功,则根据所述分片信息对接收的各数据片进行排序组装得到升级软件,根据得到的升级软件进行升级。
5.如权利要求4所述的方法,其特征在于,所述机顶盒根据接收的分片信息确定出所述升级软件的数据接收错误或成功,具体包括:
所述机顶盒解析出接收的分片信息中记录的数据片的个数,与所述机顶盒接收到的、校验成功的数据片的个数进行比较;若比较结果为不相等,则确定出所述升级软件的数据接收错误;若所述比较结果为相等,则确定出所述升级软件的数据接收成功。
6.如权利要求4或5所述的方法,其特征在于,所述机顶盒向升级服务器发送软件升级请求之前,还包括:
所述机顶盒接收到所述升级服务器发送的软件升级消息后,对其进行解析;并根据从中解析出的厂商号、硬件版本号、软件版本号、升级序列号范围,判断本机顶盒是否需要进行软件升级:若确定出本机顶盒的厂商号、硬件版本号与解析出的厂商号、硬件版本号相同,本机顶盒的序列号在解析出的升级序列号范围内,且本机顶盒的软件版本号小于解析出的软件版本号,则判断出本机顶盒需要进行软件升级;否则,判断出本机顶盒不需要进行软件升级;以及
所述机顶盒向升级服务器发送软件升级请求,具体为:
若所述机顶盒判断出本机顶盒需要进行软件升级,则向所述升级服务器发送软件升级请求。
7.一种升级服务器,其特征在于,包括:
信息处理模块,用于对于接收的每个软件升级请求,从中解析出发送方的IP地址,将解析出的IP地址加入到升级请求队列中;对于接收的每个数据接收错误通知信息,从中解析出发送方的IP地址,以及数据片的ID,并对于每个解析出的数据片的ID,将解析出的IP地址加入到对应该数据片的ID的重发队列中;
数据片发送模块,用于每隔设定时间,向所述升级请求队列中的各IP地址的机顶盒,发送升级软件的各数据片;
数据片重发模块,用于每隔设定时间,对于每个数据片的ID,向对应该数据片的ID的重发队列中的各IP地址的机顶盒重发该数据片。
8.如权利要求7所述的升级服务器,其特征在于,
所述信息处理模块还用于通过广电网向机顶盒广播软件升级消息;其中,所述软件升级消息中记录有厂商号、硬件版本号、软件版本号、升级序列号范围;以及
所述数据片发送模块还用于每隔设定时间,采用多播技术向所述升级请求队列中的各IP地址的机顶盒发送所述升级软件的分片信息。
9.一种机顶盒,其特征在于,包括:请求发送模块、数据接收校验模块、数据接收判断模块以及软件升级模块;其中,
所述请求发送模块用于向升级服务器发送软件升级请求后,发送数据接收通知;
所述数据接收校验模块用于在接收到所述数据接收通知后,进入升级软件接收状态,并在接收到升级软件的分片信息和数据片后,对于每个接收的数据片分别分配子线程进行数据接收和校验,并将校验成功的数据片保存在内存中;在接收到所述数据接收判断模块发送的数据重收通知后,进入升级软件重收状态,对于每个接收的、由所述升级服务器重发的数据片分别分配子线程进行数据接收和校验,并将校验成功的数据片保存在所述内存中;
所述数据接收判断模块用于接收到所述数据接收通知后,进入升级软件接收状态;并在进入升级软件接收状态的设定时间段后,若根据所述分片信息确定出所述升级软件的数据接收错误,则将数据错误或不完整的数据片的ID携带在数据接收错误通知信息中向所述升级服务器返回,并发送所述数据重收通知;若根据所述分片信息确定出所述升级软件的数据接收成功,则向所述软件升级模块发送软件升级通知;
所述软件升级模块用于接收到所述软件升级通知后,根据所述分片信息对所述内存中保存的各数据片进行排序组装得到升级软件,根据得到的升级软件进行升级。
10.如权利要求9所述的机顶盒,其特征在于,
所述数据接收判断模块具体用于解析出接收的分片信息中记录的数据片的个数、数据片的ID,将解析出的数据片的个数与所述内存中保存的数据片的个数进行比较;若比较结果为不相等,则判断出所述升级软件的数据接收错误,并根据解析出的数据片的ID确定出数据错误或不完整的数据片的ID,将确定出的数据片的ID携带在所述数据接收错误通知信息中向所述升级服务器返回后,发送所述数据重收通知;若比较结果为相等,则确定出所述升级软件的数据接收成功,并向所述软件升级模块发送所述软件升级通知。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310517393.9A CN103581710B (zh) | 2013-10-28 | 2013-10-28 | 升级服务器、机顶盒及其软件升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310517393.9A CN103581710B (zh) | 2013-10-28 | 2013-10-28 | 升级服务器、机顶盒及其软件升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103581710A true CN103581710A (zh) | 2014-02-12 |
CN103581710B CN103581710B (zh) | 2017-04-12 |
Family
ID=50052480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310517393.9A Active CN103581710B (zh) | 2013-10-28 | 2013-10-28 | 升级服务器、机顶盒及其软件升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103581710B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929670A (zh) * | 2014-04-30 | 2014-07-16 | 深圳市九洲电器有限公司 | 一种机顶盒的烧写方法和系统 |
CN104202667A (zh) * | 2014-09-19 | 2014-12-10 | 青岛海信宽带多媒体技术有限公司 | Iptv机顶盒升级方法和系统 |
CN104811759A (zh) * | 2015-04-01 | 2015-07-29 | 深圳市九洲电器有限公司 | 机顶盒动态升级方法及系统 |
CN105611340A (zh) * | 2016-02-18 | 2016-05-25 | 四川长虹电器股份有限公司 | 双向机顶盒安全升级管理方法 |
CN106162345A (zh) * | 2015-04-10 | 2016-11-23 | Tcl集团股份有限公司 | 一种智能电视系统的灰度升级方法及系统 |
CN108243323A (zh) * | 2016-12-23 | 2018-07-03 | 杭州海康威视数字技术股份有限公司 | 一种软件升级方法及装置 |
CN109189455A (zh) * | 2018-11-02 | 2019-01-11 | 四川长虹电器股份有限公司 | 一种网络数字电视升级方法 |
CN109766131A (zh) * | 2017-11-06 | 2019-05-17 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
CN111769966A (zh) * | 2020-05-08 | 2020-10-13 | 厦门亿联网络技术股份有限公司 | 一种克隆升级方法、系统和应用 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302479B2 (en) * | 2002-07-23 | 2007-11-27 | International Business Machines Corporation | Dynamic client/server session recovery in a heterogenous computer network |
CN101141197B (zh) * | 2007-10-18 | 2011-12-28 | 中兴通讯股份有限公司 | 一种软件下载方法 |
US20120182994A1 (en) * | 2011-01-18 | 2012-07-19 | Cisco Technology, Inc. | Address compatibility in a network device reload |
CN102722420B (zh) * | 2011-10-25 | 2014-12-03 | 中国电力科学研究院 | 一种自诊断终端、检测方法及远程维护系统 |
-
2013
- 2013-10-28 CN CN201310517393.9A patent/CN103581710B/zh active Active
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929670A (zh) * | 2014-04-30 | 2014-07-16 | 深圳市九洲电器有限公司 | 一种机顶盒的烧写方法和系统 |
CN104202667A (zh) * | 2014-09-19 | 2014-12-10 | 青岛海信宽带多媒体技术有限公司 | Iptv机顶盒升级方法和系统 |
CN104811759B (zh) * | 2015-04-01 | 2018-08-03 | 深圳市九洲电器有限公司 | 机顶盒动态升级方法及系统 |
CN104811759A (zh) * | 2015-04-01 | 2015-07-29 | 深圳市九洲电器有限公司 | 机顶盒动态升级方法及系统 |
CN106162345B (zh) * | 2015-04-10 | 2020-02-07 | Tcl集团股份有限公司 | 一种智能电视系统的灰度升级方法及系统 |
CN106162345A (zh) * | 2015-04-10 | 2016-11-23 | Tcl集团股份有限公司 | 一种智能电视系统的灰度升级方法及系统 |
CN105611340B (zh) * | 2016-02-18 | 2019-05-07 | 四川长虹电器股份有限公司 | 双向机顶盒安全升级管理方法 |
CN105611340A (zh) * | 2016-02-18 | 2016-05-25 | 四川长虹电器股份有限公司 | 双向机顶盒安全升级管理方法 |
CN108243323A (zh) * | 2016-12-23 | 2018-07-03 | 杭州海康威视数字技术股份有限公司 | 一种软件升级方法及装置 |
CN108243323B (zh) * | 2016-12-23 | 2019-12-20 | 杭州海康威视数字技术股份有限公司 | 一种软件升级方法及装置 |
US11435999B2 (en) | 2016-12-23 | 2022-09-06 | Hangzhou Hikvision Digital Technology Co., Ltd | Method and apparatus for upgrading software |
CN109766131A (zh) * | 2017-11-06 | 2019-05-17 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
CN109766131B (zh) * | 2017-11-06 | 2022-04-01 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
CN109189455A (zh) * | 2018-11-02 | 2019-01-11 | 四川长虹电器股份有限公司 | 一种网络数字电视升级方法 |
CN109189455B (zh) * | 2018-11-02 | 2021-08-06 | 四川长虹电器股份有限公司 | 一种网络数字电视升级方法 |
CN111769966A (zh) * | 2020-05-08 | 2020-10-13 | 厦门亿联网络技术股份有限公司 | 一种克隆升级方法、系统和应用 |
CN111769966B (zh) * | 2020-05-08 | 2023-06-23 | 厦门亿联网络技术股份有限公司 | 一种克隆升级方法、系统和应用 |
Also Published As
Publication number | Publication date |
---|---|
CN103581710B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103581710A (zh) | 升级服务器、机顶盒及其软件升级方法 | |
CN112104519B (zh) | 延迟消息的投递方法及装置、存储介质、计算机设备 | |
CN101291195B (zh) | 实现断点续传的文件下载的方法、系统及终端 | |
CN103546809B (zh) | 机顶盒的软件升级方法及装置 | |
CN109451032B (zh) | 一种消息传递系统 | |
CN101647282A (zh) | 用于移动tv的鲁棒文件传播 | |
US10498783B2 (en) | Non-DSG mechanisms for aligning client devices with their multicast data flows in a DOCSIS network environment | |
KR20110112199A (ko) | 실시간 방송 신호에 포함된 비실시간 콘텐트를 수신하는 방법 및 장치 | |
WO2016149087A1 (en) | Permissions management for watermarked data in a broadcast environment | |
KR20070064871A (ko) | 케이블 방송의 소프트웨어 수신 방법 및 소프트웨어 전송방법 | |
CN104618437A (zh) | 一种与android终端设备系统设置接口的适配方法 | |
CN110944220A (zh) | 视频投屏播放方法、装置、设备及系统 | |
CN103796045A (zh) | 一种iptv系统、移动终端及实现直播提醒观看的方法 | |
CN111752579A (zh) | 蓝牙终端升级方法、装置、存储介质与电子设备 | |
CN101467377B (zh) | 数据接收方法、修复方法和对应的终端 | |
US20150082351A1 (en) | Method and system for collecting and validating channel lineup and modulation data with improved accessibility to multiple type channels with automatic correction | |
CN103685303A (zh) | 连接内容传送网络的处理方法与系统 | |
CN113596832A (zh) | 网络连接的建立方法、装置、存储介质及电子装置 | |
CN103348632A (zh) | 用于访问家庭中的多媒体的方法 | |
CN103686247A (zh) | 基于同/异步的视频分发方法和系统 | |
CN103313111A (zh) | 一种媒体播放方法及装置 | |
CN107431841A (zh) | 用于内容信息消息交换的系统和方法 | |
CN110602558A (zh) | 一种用于终端的高性能dvb节目分享方法 | |
CN111479142A (zh) | 一种基于信息发布的节目内容更新方法和系统 | |
US11792473B2 (en) | Stream repair memory management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |