CN109600671A - 一种网络机顶盒快速升级的系统及其方法 - Google Patents
一种网络机顶盒快速升级的系统及其方法 Download PDFInfo
- Publication number
- CN109600671A CN109600671A CN201811527897.8A CN201811527897A CN109600671A CN 109600671 A CN109600671 A CN 109600671A CN 201811527897 A CN201811527897 A CN 201811527897A CN 109600671 A CN109600671 A CN 109600671A
- Authority
- CN
- China
- Prior art keywords
- top box
- machine top
- upgrading
- upgrade
- network machine
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种网络机顶盒快速升级的系统,包括前端的业务交互服务器和网络机顶盒;所述业务交互服务器,主要由前端认证模块和前端业务交互模块组成,用于认证终端合法性,并获取终端网络机顶盒升级数据包版本、公网地址以及端口,最终按照预设方案下发升级命令,并下发有能力提供升级数据传输的网络机顶盒终端地址列表。所述网络机顶盒内置业务交互模块、升级地址获取模块、数据传输模块和终端升级模块。本发明还提供一种网络机顶盒快速升级的方法;本发明增强了网络机顶盒的升级效率,提供了一种低成本、实用、高效以及安全的升级方案,不但可以提高升级的效率,还使用了安全的RSA加密算法确保了升级数据的传输安全。
Description
技术领域
本发明涉及网络数字电视技术领域,特别是一种网络机顶盒快速升级的系统及其方法。
背景技术
随着互联网的飞速发展以及三网融合等众多利好政策的推动,广播电视行业以及视听娱乐行业,地面、有线、IPTV、互联网、卫星广播行业呈现多元化和迅速发展的局面。从上世纪八十年代的无机顶盒电视,到后来的模拟信号机顶盒,到再后来的有线数字电视机顶盒,以及最新比较流行的网络机顶盒(IPTV,OTT),各种样式的新兴机顶盒充满了整个机顶盒市场。在此过程中机顶盒取得了长足的发展和进步,其功能也从最初仅仅观看电视晋升为客厅真正的管理者。诸如,智能家具关键控制节点,家庭影院,体感游戏,VR,3D游戏,健康诊断等众多功能的装入,使得机顶盒系统从最初的几兆空间,增加到几十兆,几百兆,一直到最新的8GFlash容量。各种功能的增加使得机顶盒系统异常臃肿,目前,一般机顶盒终端公司最新的科研项目,其升级数据文件一般都在400至 500兆之间,有的甚至到达600兆以上。如此大的升级数据文件,给升级工作带来了巨大挑战,尤其是升级数据文件的传输。某些数据表明,在2015年底,我国投入到市场的机顶盒数量已高于3.5亿台。由于机顶盒业务的频繁更新加之如此大的机顶盒在线量,系统升级的功能越来越得到运营商的重视。
目前市场上主要包括三种机顶盒,单项DVB数字机顶盒,双向DVB网络数字机顶盒和IPTV/OTT网络机顶盒。DVB机顶盒由广电提供相关设备,并铺设对应的线路,最终由广电发放给用户使用,网络机顶盒大部分由电信运营商掌控,根据业务范围的不同分为IPTV和OTT网络机顶盒。各类机顶盒对应的升级方式分别如下:
普通单向数字机顶盒升级方式为,通过cable线传输升级数据,一般在主频点或约定频点下发升级触发流,在空闲频点下发机顶盒升级数据流。空闲频点的带宽理论最大值为4兆,经验表明接收升级300兆左右升级数据文件平均用时在5到10分钟左右。在此过程中用户不能收看电视,只能等待升级。加之目前电视频道越来越多,空闲频点明显不足,运营商只能把升级流插入到节目流中下发,此时升级流所占带宽更小,用户升级等待时间更长,严重影响了用户体验。
电信运营商的IPTV/OTT网络机顶盒和广电的双向DVB网络数字机顶盒的升级方式则采用普通的C/S模式。在机顶盒登陆成功前端服务器之后,前端服务器发送升级服务器地址给需要升级的机顶盒并触发机顶盒升级。机顶盒通过后台链接服务器下载用来升级的数据文件。一般运营商会准备两到三台升级服务器,租用带宽一般为20兆输出带宽。对于一个动辄几十万数百万的市场,升级时间相当漫长。显然在升级过程中越靠近服务器区域带宽压力越大,致使升级下载缓慢。而且这种升级模式,很容易导致整个网络在某段时间内,数据流量暴增,甚至网络瘫痪的问题。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种快捷、实用、低成本且高效的网络机顶盒快速升级的系统及其方法。
为实现上述目的,本发明采用的技术方案是:一种网络机顶盒快速升级的系统,包括前端的业务交互服务器和终端的网络机顶盒,所述业务交互服务器和终端网络机顶盒之间通过互联网进行通信,还包括通过互联网与所述网络机顶盒进行通信的STUN服务器;
所述业务交互服务器包括:
前端认证模块,用于认证终端的网络机顶盒的合法性,业务交互服务器在接收到网络机顶盒的请求后,通过HTTP Resopnse产生EncryToken临时身份认证字段和扩展的js脚本;
前端业务交互模块,用于获取网络机顶盒的升级信息,下发升级触发信息,并下发可提供升级数据传输的网络机顶盒的终端地址列表;
所述网络机顶盒包括:
终端交互模块:包括认证交互子模块和业务交互子模块,所述认证交互子模块用于网络机顶盒开机后向终端管理平台发送认证指令请求开机认证,并执行前端认证模块下发的js脚本,采用3DES加密算法获取UserID,STBID,IP, MAC和EncryToken,并通过HTTPpost方式返给前端的业务交互服务器,业务交互服务器认证通过后,通过所述业务交互子模块开始正常的升级交互流程;
升级地址获取模块:包括广播子模块,启动后用于获取局域网中能提供升级数据的网络机顶盒终端节点,其他终端的网络机顶盒在确认可提供升级数据后回复应答指令;以及NAT穿越子模块,通过所述STUN服务器和前端的业务交互服务器获取对应终端的网络机顶盒的公网地址,实现NAT穿越;
文件传输模块,用于线程间的调度管理和文件传输流程,包括用于发送和接收升级数据的文件发送子模块以及文件接收子模块,所述升级数据采用TCP 方式来传输,并将获取到的升级数据存储在FLASH中或通过USB接口将升级数据发送到移动存储设备中,升级数据接收完成后通过RSA加密效验算法确认升级数据的完整性;
系统升级模块,包括升级校验子模块,用于效验升级数据文件的合法性,如果升级数据文件效验不通过,提示用户升级失败,如果升级数据文件效验正常,则进入正常升级流程,开始各个分区的读写操作。
作为一种优选的实施方式,所述网络机顶盒的升级信息包括版本信息、公网地址和端口升级信息,且前端业务交互模块获取到网络机顶盒的升级信息后将其录入本地数据库。
作为另一种优选的实施方式,所述文件接收子模块支持升级数据的断点续传和多线程调度。
作为另一种优选的实施方式,所述终端升级模块还包括用于对系统升级过程中出现异常断电的异常情况进行处理的异常处理子模块。
本发明还提供一种网络机顶盒快速升级的方法,包括以下步骤:
步骤S1、前端的业务交互服务器和终端的网络机顶盒进行业务交互;
步骤S2、需要升级的网络机顶盒获取升级地址;
步骤S3、传输升级数据,所述升级数据采用TCP方式来传输;
步骤S4、终端的网络机顶盒进行升级。
作为一种优选的实施方式,所述步骤S1具体如下:
步骤S11:请求认证,终端的网络机顶盒开机后,使用HTTP GET请求向终端管理平台请求开机认证;
步骤S12:认证交互,前端的业务交互服务器在接收到网络机顶盒的认证请求后,产生EncryToken临时身份认证字段和扩展的js脚本,网络机顶盒终端通过业务交互服务器下发的js脚本对用户账号等信息处理后,使用HTTP Post 方式返给业务交互服务器,业务交互服务器认证通过后,开始正常的升级交互流程;
步骤13:公网地址获取,终端的网络机顶盒开机后会同步与STUN服务器交互,接收到网络机顶盒终端在公网上NAT上映射的IP地址和PORT端口号;
步骤14:终端地址上传,在完成认证交互流程后,终端的网络机顶盒每隔一段时间发送一次心跳包到前端的业务交互服务器上,所述心跳包中包含该节点的网络机顶盒的公网IP地址和当前可提供升级数据的版本号。
作为另一种优选的实施方式,所述步骤S2具体如下:
步骤S21:广播获取升级地址,若终端的所有网络机顶盒在同一个局域网内,则通过广播的方式来寻找潜在提供升级数据的终端节点,需要升级的网络机顶盒终端直接发送广播消息,确认局域网中是否已经有完成更新的网络机顶盒终端;
步骤S22:应答广播,升级局域网中可提供升级数据传输服务的网络机顶盒终端,在对比确认需要的版本信息后,确认该终端符合要求,反馈响应信息给需要升级的网络机顶盒,需要升级的网络机顶盒在收到确认消息后,获取对应的终端节点IP地址和PORT端口号,并反馈给文件传输模块;
步骤S23:NAT穿越请求指令,若局域网中未找到合适的可提供升级节点,则需要升级的网络机顶盒向转发消息的业务交互服务器发送对应请求信息;
步骤S24:NAT连接指令,前端的业务交互服务器收到需要升级的网络机顶盒终端的请求信息后,向另一已经通过连接指令获取到在公网上的映射IP和 PORT端口的网络机顶盒转发此请求信息,此时该网络机顶盒开始不间断的向需要升级的网络机顶盒发送连接请求,直至超时为止,并在需要升级的网络机顶盒的公网NAT的session中增加两者之间的会话记录;
步骤S25:连接对等终端,发送完NAT穿越请求指令后,需要升级的网络机顶盒开始尝试与另一网络机顶盒的公网地址进行交互,当指令消息到达公网NAT 后,公网NAT在其session中查到了之前记录的会话记录,便把消息转发给另一网络机顶盒的地址,当另一网络机顶盒收到需要升级的网络机顶盒的消息后,即实现了NAT穿越。
作为另一种优选的实施方式,所述步骤S3具体如下:
步骤S31:升级数据接收,终端的网络机顶盒启动后,如果收到升级触发信息需要进行升级数据文件下载,则首先文件传输模块会启动,并通过升级地址获取模块,得到可以提供升级数据上载的终端网络机顶盒地址,获取到升级地址就启动线程展开数据交互下载,在启动子线程前主线程会先获取下载升级文件的大小,分配对应子线程的下载起始和终止地址,并指定文件名称;子线程在启动后根据需要传输的升级文件大小起始和终止地址向连接端请求进行升级数据下载,子线程在升级数据传输完成后反馈给主线程,主线程确认各个子线程均完成下载后进行数据拼接;
步骤S32:断点续传,在下载线程启动后首先按照主线程要求的名称在对应的存储目录下新建预定的升级文件名,如果发现有同样的名称则可以确定之前的升级数据传输出现断点,则跳到升级文件的末尾继续上次文件传输,文件接收子模块在数据传输前向提供升级数据上载的终端网络机顶盒的文件发送子模块请求跳跃到断点位置,开始升级文件的传输;
步骤S33:升级数据上传,升级文件传的输只开启单一线程,实现数据上载,文件传输模块中在文件传输前增加了传输数据块位置请求与应答指令,文件传输模块根据文件接收子模块请求的数据位置,填充传输升级数据的缓存区;
步骤S34:数据效验,完成升级数据传输后,升级数据接收子模块会根据预先存储的秘钥对升级数据进行完整性效验,如果成功则跳转触发升级,否则重新开始升级数据传输流程。
作为另一种优选的实施方式,所述步骤S4具体如下:
步骤S41:升级标记位,升级触发前会首先标记升级标记位,包括当前升级包的路径和升级语言信息,随后系统重启网络机顶盒并开始升级;
步骤S42:系统升级,进入系统升级,首先效验升级数据文件的合法性,如果升级数据文件效验不通过,提示用户升级失败;如果升级数据文件效验正常,则进入正常升级流程,开始各个分区的读写操作;升级完成后标识当前版本为新的软件版本号,然后重新启动系统。
作为另一种优选的实施方式,所述步骤S4还包括以下步骤:
步骤S43:升级异常处理,针对系统升级过程中的异常断电进行处理,具体的,在升级前在保留分区标注升级标记位,升级完成后擦掉该标记位,如果升级过程异常断电,下次boot启动时自动跳转继续展开升级任务。
本发明的有益效果是:本发明在具备普通网络机顶盒基本功能的基础上,优化了网络机顶盒的功能,提供了一种低成本、实用和快速的网络升级功能,在网机顶盒规模的扩大不但不会拖慢升级效率,反而会提高升级效率和稳定性。另外通过RSA的加密算法实现安全的数据传输,防止数据传输过程中的篡改问题。
附图说明
图1为本发明实施例的系统框图;
图2为本发明实施例的系统结构图;
图3为本发明实施例的系统升级流程图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例
如图1和图2所示,一种网络机顶盒快速升级的系统,包括前端的业务交互服务器和终端的网络机顶盒,所述业务交互服务器和终端网络机顶盒之间通过互联网进行通信,还包括通过互联网与所述网络机顶盒进行通信的STUN服务器;
所述业务交互服务器包括:
前端认证模块,用于认证终端的网络机顶盒的合法性,业务交互服务器在接收到网络机顶盒的请求后,通过HTTP Resopnse产生EncryToken临时身份认证字段和扩展的js脚本;
前端业务交互模块,用于获取网络机顶盒的升级信息,下发升级触发信息,并下发可提供升级数据传输的网络机顶盒的终端地址列表;
所述网络机顶盒包括:
终端交互模块:包括认证交互子模块和业务交互子模块,所述认证交互子模块用于网络机顶盒开机后向终端管理平台发送认证指令请求开机认证,并执行前端认证模块下发的js脚本,采用3DES加密算法获取UserID,STBID,IP, MAC和EncryToken,并通过HTTPpost方式返给前端的业务交互服务器,业务交互服务器认证通过后,通过所述业务交互子模块开始正常的升级交互流程;
升级地址获取模块:包括广播子模块,启动后用于获取局域网中能提供升级数据的网络机顶盒终端节点,其他终端的网络机顶盒在确认可提供升级数据后回复应答指令;以及NAT穿越子模块,通过所述STUN服务器和前端的业务交互服务器获取对应终端的网络机顶盒的公网地址,实现NAT穿越;
文件传输模块,用于线程间的调度管理和文件传输流程,包括用于发送和接收升级数据的文件发送子模块以及文件接收子模块,所述升级数据采用TCP 方式来传输,并将获取到的升级数据存储在FLASH中或通过USB接口将升级数据发送到移动存储设备中,升级数据接收完成后通过RSA加密效验算法确认升级数据的完整性;
系统升级模块,包括升级校验子模块,用于效验升级数据文件的合法性,如果升级数据文件效验不通过,提示用户升级失败,如果升级数据文件效验正常,则进入正常升级流程,开始各个分区的读写操作。
网络机顶盒在硬件上硬件主要由SDRAM、FLASH、以太网接口芯片、USB接口、RS-232接口和音视频接口组成。
所述网络机顶盒的升级信息包括版本信息、公网地址和端口升级信息,且前端业务交互模块获取到网络机顶盒的升级信息后将其录入本地数据库。
所述文件接收子模块支持升级数据的断点续传和多线程调度。
所述终端升级模块还包括用于对系统升级过程中出现异常断电的异常情况进行处理的异常处理子模块。
本系统主要有前端的业务交互服务器,STUN服务器和网络机顶盒三部分组成,其中STUN服务器和业务交互服务器通过网络与网络机顶盒连接,系统启动后终端交互模块首先在STUN服务器端更新自己当前最新的地址,然后心跳保持连接。之后网络机顶盒终端与业务交互服务器交互版本信息和公网地址以及端口,业务交互服务器记录并维护该信息。当新加入的网络机顶盒需要升级时,业务交互服务器发送需要升级的版本号和升级列表给新加入的网络机顶盒。网络机顶盒得到消息后,优先在本地广播查询,尝试获取可提供升级数据的终端地址。如果内网没有回应,则使用前端下发的升级地址列表来请求升级数据传输,最终成功下载升级数据文件。由于网络机顶盒终端均在NAT后,需要先进行NAT穿越,才能进行升级数据传输。完成升级数据文件下载流程后,网络机顶盒进入升级状态。界面提示用户升级,用户同意后开始网络机顶盒升级流程。首先写标记位到网络机顶盒对应的界面,网络机顶盒之后重启进入升级流程。网络机顶盒升级过程中,首先会在recovery中作签名效验,以确保升级数据的合法性。之后开始升级流程,首先确认升级包的完整性,然后解压升级包内的升级脚本、升级程序和升级分区数据。升级程序按照对应的升级脚本升级,并对整个分区进行升级。
如图3所示,本实施例还提供一种网络机顶盒快速升级的方法,包括以下步骤:
步骤S1、前端的业务交互服务器和终端的网络机顶盒进行业务交互;
步骤S2、需要升级的网络机顶盒获取升级地址;
步骤S3、传输升级数据,所述升级数据采用TCP方式来传输;
步骤S4、终端的网络机顶盒进行升级。
具体的,所述步骤S1包括以下步骤:
步骤S11:请求认证,终端的网络机顶盒开机后,使用HTTP GET向终端管理平台请求开机认证,此数据中携带了用户的账号信息,便于终端管理平台识别用户身份,据此查询数据库找出对应的用户密码。
步骤S12:认证交互,业务交互服务器在接收到网络机顶盒的认证请求后,产生挑战字的加密字段EncryToken。网络机顶盒终端通过前端下发的js脚本对用户账号等信息处理后,使用HTTP Post方式返给前端的业务交互服务器。前端的业务交互服务器认证通过后,开始正常的升级交互流程。
步骤S13:公网地址获取,终端的网络机顶盒开机后会同步与STUN服务器交互,接收到网络机顶盒终端在公网上NAT上映射的IP地址和PORT端口号。
步骤S14:终端地址上传,在完成认证交互流程后,终端的网络机顶盒每隔一段时间发送一次心跳包到前端服务器上,该包中包含本机的公网IP地址和当前可提供升级数据的版本号。
所述步骤S2包括以下步骤:
步骤S21:广播获取升级地址,获取升级地址时对于具体的网络类型,如终端机顶盒在同一个局域网内,就需要通过广播的方式来寻找潜在提供升级数据的终端节点。实现的方式为:需要升级的网络机顶盒终端直接发送广播消息,以便确认局域网中是否已经有完成更新的网络机顶盒终端。
步骤S22:应答广播,升级局域网中可提供数据传输服务的网络机顶盒终端,在对比确认需要的版本信息后,确认该终端符合要求,反馈响应信息给需要升级的网络机顶盒终端。需要升级的网络机顶盒终端在收到确认消息后,获取对应的终端节点IP地址和PORT端口号,反馈给文件传输模块。
步骤S23:NAT穿越请求指令,如果局域网中未找到合适的可提供升级节点,需要升级的网络机顶盒向会向转发消息的业务交互服务器发送对应请求信息,请求可提供数据传输服务的网络机顶盒终端连接需要升级的网络机顶盒。
步骤S24:NAT连接指令,前端的业务交互服务器收到需要升级的网络机顶盒终端,向另一网络机顶盒转发此命令。由于另一网络机顶盒已经通过连接指令已经获取到需要升级的网络机顶盒在公网上的映射IP和PORT端口,此时另一网络机顶盒开始不间断的向需要升级的网络机顶盒发送连接请求,直至超时为止。此操作可在需要升级的网络机顶盒的公网NAT的session中增加两者之间的会话记录。
步骤S25:连接对等终端,发送完NAT穿越请求指令后,需要升级的网络机顶盒开始尝试与另一网络机顶盒的公网地址进行交互。当指令消息到达公网NAT 后,公网NAT在其session中查到了之前记录的会话记录,便把消息转发给另一网络机顶盒的地址。当另一网络机顶盒收到需要升级的网络机顶盒的消息后,至此NAT穿越便成功实现了。
所述步骤S3包括以下步骤:
步骤S31:升级数据接收,终端的网络机顶盒启动后,如果收到升级触发信息需要进行升级数据文件下载,首先数文件输模块会启动,并通过升级地址获取模块,得到可以提供升级数据上载的终端网络机顶盒地址,获取到升级地址就启动线程展开数据交互下载,最多启动4路线程进行下载。文件传输模块主线程负责线程间的调度管理和文件传输流程。在启动子线程前主线程会先获取下载升级文件的大小,分配对应子线程的下载起始和终止地址,并指定文件名称。子线程在启动后根据需要传输的文件大小起始和终止地址向连接端请求进行数据下载。子线程在升级数据传输完成后反馈给主线程。主线程确认各个子线程均完成下载后进行数据拼接。
步骤S32:断点续传,在下载线程启动后首先按照主线程要求的名称在对应的存储目录下新建预定的升级文件名,如果发现有同样的名称则可以确定之前出现断点。由于TCP协议本身的按照顺序收取数据,因此只需要跳到文件的末尾继续上次文件传输即可。文件接收子模块在数据传输前向提供升级数据上载的终端网络机顶盒的文件发送子模块请求跳跃到断点位置,开始升级文件的传输。
步骤S33:升级数据上传,鉴于普通家庭网络上行带宽都比较小,作为升级数据文件传输的服务端只开启单一线程,来提实现数据上载的功能。文件传输模块的工作模式与普通的文件传输功能有一些区别,在文件传输前增加了传输数据块位置请求与应答指令。文件传输模块可以根据文件接收子模块请求的数据位置,按照约定的要求填充传输数据的缓存区。
步骤S34:数据效验,完成数据传输后,文件接收子模块会根据预先存储的秘钥对升级数据进行完整性效验,如果成功则跳转触发升级,否则重新开始升级数据传输流程。
所述步骤S4包括以下步骤:
步骤S41:升级标记位,升级触发前会首先标记升级标记位,包括当前升级包的路径和升级语言等信息,随后系统重启并开始升级。
步骤S42:系统升级,进入系统升级,首先效验升级数据文件的合法性。如果升级数据文件效验不通过,提示用户升级失败。如果升级数据文件效验正常,则进入正常升级流程,开始各个分区的读写操作。升级完成后标识当前版本为新的软件版本号,然后重新启动系统。
步骤S43:升级异常处理,主要针对系统升级过程中的异常断电,进行处理,主要处理方式为,在升级前在保留分区标注升级标记位,升级完成后擦掉该标记位,如果升级过程异常断电,下次boot启动时会自动跳转继续展开升级任务。
通过本实施例所提供的网络机顶盒快速升级的系统及其方法,在具备网络机顶盒基本功能的基础上,增强了网络机顶盒的升级速度,提供了一种低成本、实用和快速的升级方法,不但可以方便用户实现快速升级,还基于RSA算法对升级数据进行加密确保了升级数据的安全可靠性。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (10)
1.一种网络机顶盒快速升级的系统,包括前端的业务交互服务器和终端的网络机顶盒,所述业务交互服务器和终端网络机顶盒之间通过互联网进行通信,其特征在于,还包括通过互联网与所述网络机顶盒进行通信的STUN服务器;
所述业务交互服务器包括:
前端认证模块,用于认证终端的网络机顶盒的合法性,业务交互服务器在接收到网络机顶盒的请求后,通过HTTP Resopnse产生EncryToken临时身份认证字段和扩展的js脚本;
前端业务交互模块,用于获取网络机顶盒的升级信息,下发升级触发信息,并下发可提供升级数据传输的网络机顶盒的终端地址列表;
所述网络机顶盒包括:
终端交互模块:包括认证交互子模块和业务交互子模块,所述认证交互子模块用于网络机顶盒开机后向终端管理平台发送认证指令请求开机认证,并执行前端认证模块下发的js脚本,采用3DES加密算法获取UserID,STBID,IP,MAC和EncryToken,并通过HTTPpost方式返给前端的业务交互服务器,业务交互服务器认证通过后,通过所述业务交互子模块开始正常的升级交互流程;
升级地址获取模块:包括广播子模块,启动后用于获取局域网中能提供升级数据的网络机顶盒终端节点,其他终端的网络机顶盒在确认可提供升级数据后回复应答指令;以及NAT穿越子模块,通过所述STUN服务器和前端的业务交互服务器获取对应终端的网络机顶盒的公网地址,实现NAT穿越;
文件传输模块,用于线程间的调度管理和文件传输流程,包括用于发送和接收升级数据的文件发送子模块以及文件接收子模块,所述升级数据采用TCP方式来传输,并将获取到的升级数据存储在FLASH中或通过USB接口将升级数据发送到移动存储设备中,升级数据接收完成后通过RSA加密效验算法确认升级数据的完整性;
系统升级模块,包括升级校验子模块,用于效验升级数据文件的合法性,如果升级数据文件效验不通过,提示用户升级失败,如果升级数据文件效验正常,则进入正常升级流程,开始各个分区的读写操作。
2.根据权利要求1所述的网络机顶盒快速升级的系统,其特征在于,所述网络机顶盒的升级信息包括版本信息、公网地址和端口升级信息,且前端业务交互模块获取到网络机顶盒的升级信息后将其录入本地数据库。
3.根据权利要求1所述的网络机顶盒快速升级的系统,其特征在于,所述文件接收子模块支持升级数据的断点续传和多线程调度。
4.根据权利要求1所述的网络机顶盒快速升级的系统,其特征在于,所述终端升级模块还包括用于对系统升级过程中出现异常断电的异常情况进行处理的异常处理子模块。
5.一种网络机顶盒快速升级的方法,其特征在于,包括以下步骤:
步骤S1、前端的业务交互服务器和终端的网络机顶盒进行业务交互;
步骤S2、需要升级的网络机顶盒获取升级地址;
步骤S3、传输升级数据,所述升级数据采用TCP方式来传输;
步骤S4、终端的网络机顶盒进行升级。
6.根据权利要求5所述的网络机顶盒快速升级的方法,其特征在于,所述步骤S1具体如下:
步骤S11:请求认证,终端的网络机顶盒开机后,使用HTTP GET请求向终端管理平台请求开机认证;
步骤S12:认证交互,前端的业务交互服务器在接收到网络机顶盒的认证请求后,产生EncryToken临时身份认证字段和扩展的js脚本,网络机顶盒终端通过业务交互服务器下发的js脚本对用户账号等信息处理后,使用HTTP Post方式返给业务交互服务器,业务交互服务器认证通过后,开始正常的升级交互流程;
步骤13:公网地址获取,终端的网络机顶盒开机后会同步与STUN服务器交互,接收到网络机顶盒终端在公网上NAT上映射的IP地址和PORT端口号;
步骤14:终端地址上传,在完成认证交互流程后,终端的网络机顶盒每隔一段时间发送一次心跳包到前端的业务交互服务器上,所述心跳包中包含该节点的网络机顶盒的公网IP地址和当前可提供升级数据的版本号。
7.根据权利要求6所述的网络机顶盒快速升级的方法,其特征在于,所述步骤S2具体如下:
步骤S21:广播获取升级地址,若终端的所有网络机顶盒在同一个局域网内,则通过广播的方式来寻找潜在提供升级数据的终端节点,需要升级的网络机顶盒终端直接发送广播消息,确认局域网中是否已经有完成更新的网络机顶盒终端;
步骤S22:应答广播,升级局域网中可提供升级数据传输服务的网络机顶盒终端,在对比确认需要的版本信息后,确认该终端符合要求,反馈响应信息给需要升级的网络机顶盒,需要升级的网络机顶盒在收到确认消息后,获取对应的终端节点IP地址和PORT端口号,并反馈给文件传输模块;
步骤S23:NAT穿越请求指令,若局域网中未找到合适的可提供升级节点,则需要升级的网络机顶盒向转发消息的业务交互服务器发送对应请求信息;
步骤S24:NAT连接指令,前端的业务交互服务器收到需要升级的网络机顶盒终端的请求信息后,向另一已经通过连接指令获取到在公网上的映射IP和PORT端口的网络机顶盒转发此请求信息,此时该网络机顶盒开始不间断的向需要升级的网络机顶盒发送连接请求,直至超时为止,并在需要升级的网络机顶盒的公网NAT的session中增加两者之间的会话记录;
步骤S25:连接对等终端,发送完NAT穿越请求指令后,需要升级的网络机顶盒开始尝试与另一网络机顶盒的公网地址进行交互,当指令消息到达公网NAT后,公网NAT在其session中查到了之前记录的会话记录,便把消息转发给另一网络机顶盒的地址,当另一网络机顶盒收到需要升级的网络机顶盒的消息后,即实现了NAT穿越。
8.根据权利要求7所述的网络机顶盒快速升级的方法,其特征在于,所述步骤S3具体如下:
步骤S31:升级数据接收,终端的网络机顶盒启动后,如果收到升级触发信息需要进行升级数据文件下载,则首先文件传输模块会启动,并通过升级地址获取模块,得到可以提供升级数据上载的终端网络机顶盒地址,获取到升级地址就启动线程展开数据交互下载,在启动子线程前主线程会先获取下载升级文件的大小,分配对应子线程的下载起始和终止地址,并指定文件名称;子线程在启动后根据需要传输的升级文件大小起始和终止地址向连接端请求进行升级数据下载,子线程在升级数据传输完成后反馈给主线程,主线程确认各个子线程均完成下载后进行数据拼接;
步骤S32:断点续传,在下载线程启动后首先按照主线程要求的名称在对应的存储目录下新建预定的升级文件名,如果发现有同样的名称则可以确定之前的升级数据传输出现断点,则跳到升级文件的末尾继续上次文件传输,文件接收子模块在数据传输前向提供升级数据上载的终端网络机顶盒的文件发送子模块请求跳跃到断点位置,开始升级文件的传输;
步骤S33:升级数据上传,升级文件传的输只开启单一线程,实现数据上载,文件传输模块中在文件传输前增加了传输数据块位置请求与应答指令,文件传输模块根据文件接收子模块请求的数据位置,填充传输升级数据的缓存区;
步骤S34:数据效验,完成升级数据传输后,升级数据接收子模块会根据预先存储的秘钥对升级数据进行完整性效验,如果成功则跳转触发升级,否则重新开始升级数据传输流程。
9.根据权利要求8所述的网络机顶盒快速升级的方法,其特征在于,所述步骤S4具体如下:
步骤S41:升级标记位,升级触发前会首先标记升级标记位,包括当前升级包的路径和升级语言信息,随后系统重启网络机顶盒并开始升级;
步骤S42:系统升级,进入系统升级,首先效验升级数据文件的合法性,如果升级数据文件效验不通过,提示用户升级失败;如果升级数据文件效验正常,则进入正常升级流程,开始各个分区的读写操作;升级完成后标识当前版本为新的软件版本号,然后重新启动系统。
10.根据权利要求9所述的网络机顶盒快速升级的方法,其特征在于,所述步骤S4还包括以下步骤:
步骤S43:升级异常处理,针对系统升级过程中的异常断电进行处理,具体的,在升级前在保留分区标注升级标记位,升级完成后擦掉该标记位,如果升级过程异常断电,下次boot启动时自动跳转继续展开升级任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527897.8A CN109600671B (zh) | 2018-12-13 | 2018-12-13 | 一种网络机顶盒快速升级的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811527897.8A CN109600671B (zh) | 2018-12-13 | 2018-12-13 | 一种网络机顶盒快速升级的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109600671A true CN109600671A (zh) | 2019-04-09 |
CN109600671B CN109600671B (zh) | 2021-02-19 |
Family
ID=65961910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811527897.8A Active CN109600671B (zh) | 2018-12-13 | 2018-12-13 | 一种网络机顶盒快速升级的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109600671B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474977A (zh) * | 2019-08-13 | 2019-11-19 | 北京百佑科技有限公司 | 智能门锁的固件升级方法、固件升级系统和智能门锁 |
CN110535954A (zh) * | 2019-09-02 | 2019-12-03 | 北京百佑科技有限公司 | 门锁固件的升级方法、升级系统、智能网关和存储介质 |
CN110867175A (zh) * | 2019-10-17 | 2020-03-06 | 北京雷石天地电子技术有限公司 | 一种ktv点唱系统及ktv机顶盒连接服务器的方法 |
CN111464836A (zh) * | 2019-12-27 | 2020-07-28 | 山东中科先进技术研究院有限公司 | 一种有线数字机顶盒终端网管管理方法及系统 |
CN115080141A (zh) * | 2022-06-02 | 2022-09-20 | 珠海金山数字网络科技有限公司 | 数据处理方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056271A (zh) * | 2007-06-06 | 2007-10-17 | 杭州华三通信技术有限公司 | 穿越nat的方法及相应的通信终端和nat设备 |
WO2008022829A1 (fr) * | 2006-08-22 | 2008-02-28 | France Telecom | Procédé de gestion d'une session de transfert sécurisée au travers d'un dispositif de translation d'adresse, serveur et programme d'ordinateur correspondants |
CN101741927A (zh) * | 2009-12-24 | 2010-06-16 | 四川长虹电器股份有限公司 | 穿越nat设备的远程控制方法 |
CN102685141A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于语音可达性的融合穿越方法 |
CN103051956A (zh) * | 2012-12-24 | 2013-04-17 | 乐视致新电子科技(天津)有限公司 | 一种实现日志上报和故障诊断的机顶盒及其方法 |
US20140006584A1 (en) * | 2012-06-28 | 2014-01-02 | Huawei Device Co., Ltd. | Method for establishing channel for managing ipv4 terminal and network gateway |
CN104408777A (zh) * | 2014-11-27 | 2015-03-11 | 凯拔(中国)科技有限公司 | 一种基于nat穿越实现p2p通信的互联网考勤管理系统和方法 |
CN106936946A (zh) * | 2017-05-10 | 2017-07-07 | 烽火通信科技股份有限公司 | 一种利用融合网关实现网络穿越的系统及方法 |
CN107295370A (zh) * | 2017-06-21 | 2017-10-24 | 山东浪潮商用系统有限公司 | 一种双向机顶盒收视率采集的系统及方法 |
CN108900915A (zh) * | 2018-08-13 | 2018-11-27 | 四川九州电子科技股份有限公司 | 一种机顶盒生产升级的系统及应用该系统生产升级的方法 |
-
2018
- 2018-12-13 CN CN201811527897.8A patent/CN109600671B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008022829A1 (fr) * | 2006-08-22 | 2008-02-28 | France Telecom | Procédé de gestion d'une session de transfert sécurisée au travers d'un dispositif de translation d'adresse, serveur et programme d'ordinateur correspondants |
CN101056271A (zh) * | 2007-06-06 | 2007-10-17 | 杭州华三通信技术有限公司 | 穿越nat的方法及相应的通信终端和nat设备 |
CN101741927A (zh) * | 2009-12-24 | 2010-06-16 | 四川长虹电器股份有限公司 | 穿越nat设备的远程控制方法 |
CN102685141A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于语音可达性的融合穿越方法 |
US20140006584A1 (en) * | 2012-06-28 | 2014-01-02 | Huawei Device Co., Ltd. | Method for establishing channel for managing ipv4 terminal and network gateway |
CN103051956A (zh) * | 2012-12-24 | 2013-04-17 | 乐视致新电子科技(天津)有限公司 | 一种实现日志上报和故障诊断的机顶盒及其方法 |
CN104408777A (zh) * | 2014-11-27 | 2015-03-11 | 凯拔(中国)科技有限公司 | 一种基于nat穿越实现p2p通信的互联网考勤管理系统和方法 |
CN106936946A (zh) * | 2017-05-10 | 2017-07-07 | 烽火通信科技股份有限公司 | 一种利用融合网关实现网络穿越的系统及方法 |
CN107295370A (zh) * | 2017-06-21 | 2017-10-24 | 山东浪潮商用系统有限公司 | 一种双向机顶盒收视率采集的系统及方法 |
CN108900915A (zh) * | 2018-08-13 | 2018-11-27 | 四川九州电子科技股份有限公司 | 一种机顶盒生产升级的系统及应用该系统生产升级的方法 |
Non-Patent Citations (1)
Title |
---|
陈迅山: "《数字电视接收终端软件远程升级系统设计与应用》", 《中国优秀硕博士学位论文全文数据库》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474977A (zh) * | 2019-08-13 | 2019-11-19 | 北京百佑科技有限公司 | 智能门锁的固件升级方法、固件升级系统和智能门锁 |
CN110474977B (zh) * | 2019-08-13 | 2021-08-20 | 北京百佑科技有限公司 | 智能门锁的固件升级方法、固件升级系统和智能门锁 |
CN110535954A (zh) * | 2019-09-02 | 2019-12-03 | 北京百佑科技有限公司 | 门锁固件的升级方法、升级系统、智能网关和存储介质 |
CN110535954B (zh) * | 2019-09-02 | 2022-02-01 | 北京百佑科技有限公司 | 门锁固件的升级方法、升级系统、智能网关和存储介质 |
CN110867175A (zh) * | 2019-10-17 | 2020-03-06 | 北京雷石天地电子技术有限公司 | 一种ktv点唱系统及ktv机顶盒连接服务器的方法 |
CN110867175B (zh) * | 2019-10-17 | 2022-06-14 | 北京雷石天地电子技术有限公司 | 一种ktv点唱系统及ktv机顶盒连接服务器的方法 |
CN111464836A (zh) * | 2019-12-27 | 2020-07-28 | 山东中科先进技术研究院有限公司 | 一种有线数字机顶盒终端网管管理方法及系统 |
CN115080141A (zh) * | 2022-06-02 | 2022-09-20 | 珠海金山数字网络科技有限公司 | 数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109600671B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600671A (zh) | 一种网络机顶盒快速升级的系统及其方法 | |
US9596501B2 (en) | Remote control processing method, device and system | |
CN106301865B (zh) | 应用于服务提供设备的数据处理方法和设备 | |
CN103546809B (zh) | 机顶盒的软件升级方法及装置 | |
CN113518247B (zh) | 视频播放方法、相关设备及计算机可读存储介质 | |
BRPI0822217B1 (pt) | métodos e aparelhos para fornecer distribuição de sinal balanceado de carga | |
WO2018103644A1 (zh) | 直播分享方法及装置、家庭媒体设备和存储介质 | |
CN110401619B (zh) | 一种信息管理方法、终端及服务器 | |
US20160306619A1 (en) | Method and device for remotely updating application program | |
CN111803923A (zh) | 基于云手机系统的游戏共享方法、电子设备、存储介质 | |
WO2017097210A1 (zh) | 软件升级方法、装置及系统 | |
US20150222942A1 (en) | Method, terminal and CDN server in IPTV system for realizing playing while downloading | |
WO2018006877A1 (zh) | 控制机顶盒的方法及装置 | |
CN104618738A (zh) | 一种智能电视节目播放方法及装置 | |
CN105828046A (zh) | 一种数据流的传输方法和装置 | |
CN108521342B (zh) | 一种集群的管理方法及装置 | |
JP5425389B2 (ja) | ビデオオンデマンド・セッションを回復する方法 | |
CN107018444B (zh) | 一种基于PPPoE拨号接入的电信头端清流获取方法 | |
CN103108220A (zh) | 机顶盒及其实现设备和功能扩展的系统及方法 | |
US20090007215A1 (en) | Method and Apparatus for Delivering Programming Code Objects to Set-Top Terminals and the Like | |
CN112350793A (zh) | 一种用于应急广播的音频监控方法 | |
CN116260994A (zh) | 纠错方法、装置、可读存储介质及电子设备 | |
WO2011160549A1 (zh) | 电子节目指南系统及文件下载方法 | |
CN105847884B (zh) | 一种控制电视用户使用电视的方法和装置 | |
EP3618349A1 (en) | Conference cascading method based on software media server, and server and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |