CN107291520A - 一种软件自动升级方法 - Google Patents

一种软件自动升级方法 Download PDF

Info

Publication number
CN107291520A
CN107291520A CN201710690849.XA CN201710690849A CN107291520A CN 107291520 A CN107291520 A CN 107291520A CN 201710690849 A CN201710690849 A CN 201710690849A CN 107291520 A CN107291520 A CN 107291520A
Authority
CN
China
Prior art keywords
software
client router
server
upgrade package
router
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.)
Pending
Application number
CN201710690849.XA
Other languages
English (en)
Inventor
李相宏
韦伟克
刘争光
孙白艳
胡思奇
马嘉庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Trillion Digital Polytron Technologies Inc
Shenzhen MTC Co Ltd
Original Assignee
Shenzhen Trillion Digital Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Trillion Digital Polytron Technologies Inc filed Critical Shenzhen Trillion Digital Polytron Technologies Inc
Priority to CN201710690849.XA priority Critical patent/CN107291520A/zh
Publication of CN107291520A publication Critical patent/CN107291520A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种软件自动升级方法,包括以下步骤:S1:判断客户端路由器是否与互联网相连接;若为是,则执行S2;若为否,则结束。S2:判断客户端路由器是否与服务器相连接;若为是,则执行S3;若为否,则结束。S3:下载软件版本文档。S4:判断本地路由软件的版本号与所下载的软件版本文档内的版本号是否一致;若为否,则执行S5;若为是,则结束。S5:下载软件升级包。S6:弹出软件升级提示界面,判断用户是否对本地路由软件进行升级;若为是,则执行S7;若为否,则结束。S7:对本地路由软件进行升级。客户端下载资源时,对软件版本文件和软件升级包是分开下载,有效缓解了服务器端的负担。

Description

一种软件自动升级方法
技术领域
本发明涉及网络技术领域,尤其涉及一种软件自动升级方法。
背景技术
目前,市场上智能产品常见的的在线升级功能有:(1)手机自动升级功能;(2)市场上部分智能路由器在线升级功能。
然而,现有的软件在线升级方法,具有以下的不足:
(1)升级没有任何提示,在用户不知情的情况下,后台默认自动进行升级,升级过程中如出现用户异常断电可能会导致系统异常,产品无法再使用。
(2)有界面提示的在线升级方法,在用户手动点击升级后才会进行升级包下载,网络情况差时,可能会进行长时间的下载甚至下载失败。
(3)有界面提示的在线升级方法,提示界面需访问到路由器主界面才会弹窗提示,而正常使用过程中很少有用户会主动访问到路由器的主界面。
发明内容
针对现有技术的不足,本发明提出了一种软件自动升级方法,(1)通过界面提示解决了现有软件自动升级方法由于默认自动升级导致用户体验差的问题;(2)通过客户端路由器连接至服务器,与服务器连接正常后,路由器自动下载升级包,解决了现有的有界面提示的软件自动升级方法采用先确认后下载升级包的方式,导致升级包下载时间长或断网容易下载失败的问题;(3)将升级提示界面触发动作扩大到任何浏览器任意网址的访问操作,解决现有的自动升级方法需访问到路由器主界面才会弹窗提示的问题。
为了实现上述目的,本发明技术方案如下:
一种软件自动升级方法,包括以下步骤:
S1:判断客户端路由器是否与互联网相连接;若为是,则执行S2;若为否,则执行S8。
S2:判断客户端路由器是否与服务器相连接;若为是,则执行S3;若为否,则执行S8。
S3:通过客户端路由器下载软件版本文档。
S4:判断本地路由软件的版本号与所下载的软件版本文档内的版本号是否一致;若为否,则执行S5;若为是,则执行S8。
S5:通过客户端路由器下载软件升级包。
S6:弹出软件升级提示界面,判断用户是否对本地路由软件进行升级;若为是,则执行S7;若为否,则删除已下载的软件升级包,回收内存资源,并执行S8。
S7:对本地路由软件进行升级。
S8:结束。
进一步地,所述判断客户端路由器是否与互联网相连接的具体步骤包括:启动客户端路由器,检测到客户端路由器WAN口有网线连接时,从WAN口对若干常用的互联网地址发起ping请求,根据ping请求的返回信息来判断客户端路由器是否与互联网相连接。
进一步地,所述判断客户端路由器是否与服务器相连接的具体步骤包括:
S21:获取客户端路由器内部预先设置好的服务器域名和端口号信息。
S22:对服务器域名进行解析,将服务器域名解析为IP地址。
S23:根据IP地址和端口号,对服务器发起Socket连接请求,判断客户端路由器是否与服务器相连接。
进一步地,S3的具体步骤包括:
S31:客户端路由器通过Socket向服务器发送Http请求,请求下载指定位置的软件版本文档。
S32:服务器收到请求后,发送软件版本文档到客户端路由器。
进一步地,S5包括以下步骤:
S51:客户端路由器通过Socket向服务器发送Http请求,请求下载指定位置的软件升级包。
S52:客户端路由器申请用于存储软件升级包的内存空间。
S53:下载软件升级包。
S54:对下载的软件升级包进行基本校验。
S55:确认软件升级包下载无误后,将软件升级包暂时存储在所述内存空间中。
进一步地,所述弹出软件升级提示界面由任意浏览器访问任意互联网资源时触发。
本发明的有益效果:
该方法在路由器产品连接到互联网后,路由器后台自动启动从互联网上的服务器下载软件升级包机制。客户端下载资源时,对软件版本文件和软件升级包是分开下载的,先下载软件版本文件,对比版本号一致时,不必再下载软件升级包,有效缓解了服务器端的负担。先在后台下载升级包再提示软件升级,避免了传统方法中,用户选择升级后长时间的升级包下载。本方法可扩展用作局域网内的批量升级功能,方便生产时进行批量化的返工升级。
附图说明
图1为该软件自动升级方法的流程示意图。
图2为图1中步骤S2的流程示意图。
图3为图1中步骤S3的流程示意图。
图4为图1中步骤S5的流程示意图。
具体实施方式
下面结合附图和实施例,进一步阐述本发明。
本方法为C-S模型,分客户端和服务端两部分,通过TCP Socket实现客户端与服务端之间的相互通讯,使用Http协议进行软件升级包及其他相关数据的传输,当服务端和客户端均挂载在互联网上并且相互连接时,可以实现自动在线升级功能。
如图1所示,一种软件自动升级方法,包括以下步骤:
S1:判断客户端路由器是否与互联网相连接;若为是,则执行S2;若为否,则执行S8。
客户端内置在路由器中,以功能模块的形式存在,路由器每次断电重启的时候均触发本方法。路由器重启时检测WAN口状态,当检测到WAN口连接到互联网时,会自动启用线程运行本方法。
S2:判断客户端路由器是否与服务器相连接;若为是,则执行S3;若为否,则执行S8。
本方法开始运行后,进行软件升级前的预备工作。路由器与互联网上的服务端建立Socket连接,确认能够与服务器正常通讯。指定服务器目录,存放软件版本文档和软件升级包。将服务器连接到互联网供客户端路由器下载资源。
S3:通过客户端路由器下载软件版本文档。
在客户端路由器预先设置好软件版本文档的存放位置和文件名;并且,服务器上的软件版本文档预先存放在指定位置。软件版本文档内含有软件版本号信息。
客户端路由器与互联网连接建立后,先下载软件版本文件,读取最新的软件版本的相关信息。因软件版本文档极小,只有几KB,该过程会很快完成,且占用资源很少。
S4:判断本地路由软件的版本号与所下载的软件版本文档内的版本号是否一致;若为否,则执行S5;若为是,则执行S8。
根据软件版本文档内的特定关键字,提取软件版本号,与当前软件版本号进行对比,对比当前本地路由软件的版本号是否为最新版本,如最新版本软件与当前本地设备的软件版本不同,则在路由器后台自行下载最新的软件升级包。软件升级包较大,一般为几百KB~几MB,该过程会花费一段时间,具体时间会根据当前网络状况有所变化。
S5:通过客户端路由器下载软件升级包。
软件升级包的存放位置和文件名同样提前在客户端路由器内部设置好,服务器上软件升级包也需要放在指定位置。
客户端路由器成功下载软件升级包后,对软件升级包进行基本的校验,确保软件升级包没有损坏,并将软件升级包暂存在路由器中。
S6:弹出软件升级提示界面,判断用户是否对本地路由软件进行升级;若为是,则执行S7;若为否,则删除已下载的软件升级包,回收内存资源,并忽略今后该版本的升级,并执行S8。
软件升级包校验无误后,启动界面提示功能。此时,用户在任何浏览器上访问互联网资源时,将会弹出升级提示界面,提示用户是否升级;用户可选择“升级”和“跳过当前版本”来决定是否对软件进行升级。客户端用户基本没有登录路由器Web页面的习惯,将升级提示界面触发动作扩大到任何浏览器任意网址的访问操作,使得升级操作上更友好。
如用户确定升级,会直接调用已下载的软件升级包进行升级,用户只需等待几分钟即可完成软件升级;如用户选择跳过当前版本,则自动把路由器暂存的软件升级包删除,实现系统可用内存的回收。
S7:对本地路由软件进行升级。升级后重启路由器。
S8:结束。
非正常方式结束时,即在客户端路由器无法与互联网或服务器相连接、以及软件版本文档或软件升级包下载失败的任意情况下,会在1分钟后再次发起该升级过程,若进行3次后仍然失败,则彻底关闭该过程,并在下一次重启路由器后再次进行尝试。
其中,S1中判断客户端路由器是否与互联网相连接的具体步骤包括:
启动客户端路由器,检测到客户端路由器WAN口有网线连接时,从WAN口对若干常用的互联网地址(如:百度、QQ等)发起ping请求,根据ping请求的返回信息来判断客户端路由器是否与互联网相连接。
如图2所示,其中,S2中所述判断客户端路由器是否与服务器相连接的具体步骤包括:
S21:获取客户端路由器内部预先设置好的服务器域名和端口号信息;
S22:对服务器域名进行解析,将服务器域名解析为IP地址;
S23:根据IP地址和端口号,对服务器发起Socket连接请求,判断客户端路由器是否与服务器相连接。
如图3所示,其中,S3的具体步骤包括:
S31:客户端路由器通过Socket向服务器发送Http请求,请求下载指定位置的软件版本文档;
S32:服务器收到请求后,发送软件版本文档到客户端路由器。
如图4所示,其中,S5的具体步骤包括:
S51:客户端路由器通过Socket向服务器发送Http请求,请求下载指定位置的软件升级包;
S52:客户端路由器申请用于存储软件升级包的内存空间;
S53:下载软件升级包;
S54:对下载的软件升级包进行基本校验;
S55:确认软件升级包下载无误后,将软件升级包暂时存储在所述内存空间中。
本发明在路由器产品连接到互联网后,路由器后台自动启动从互联网上的服务器下载软件升级包机制。客户端下载资源时,对软件版本文件和软件升级包是分开下载的,先下载软件版本文件,对比版本号一致时,不必再下载软件升级包,有效缓解了服务器端的负担。先在后台下载升级包再提示软件升级,避免了传统方法中,用户选择升级后长时间的升级包下载。本方法可扩展用作局域网内的批量升级功能,方便生产时进行批量化的返工升级。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的基本构思的前提下直接导出或联想到的其它改进和变化均应认为包含在本发明的保护范围之内。

Claims (6)

1.一种软件自动升级方法,其特征在于:
包括以下步骤:
S1:判断客户端路由器是否与互联网相连接;若为是,则执行S2;若为否,则执行S8;
S2:判断客户端路由器是否与服务器相连接;若为是,则执行S3;若为否,则执行S8;
S3:通过客户端路由器下载软件版本文档;
S4:判断本地路由软件的版本号与所下载的软件版本文档内的版本号是否一致;若为否,则执行S5;若为是,则执行S8;
S5:通过客户端路由器下载软件升级包;
S6:弹出软件升级提示界面,判断用户是否对本地路由软件进行升级;若为是,则执行S7;若为否,则删除已下载的软件升级包,回收内存资源,并执行S8;
S7:对本地路由软件进行升级;
S8:结束。
2.根据权利要求1所述的软件自动升级方法,其特征在于:
所述判断客户端路由器是否与互联网相连接的具体步骤包括:
启动客户端路由器,检测到客户端路由器WAN口有网线连接时,从WAN口对若干常用的互联网地址发起ping请求,根据ping请求的返回信息来判断客户端路由器是否与互联网相连接。
3.根据权利要求1所述的软件自动升级方法,其特征在于:
所述判断客户端路由器是否与服务器相连接的具体步骤包括:
S21:获取客户端路由器内部预先设置好的服务器域名和端口号信息;
S22:对服务器域名进行解析,将服务器域名解析为IP地址;
S23:根据IP地址和端口号,对服务器发起Socket连接请求,判断客户端路由器是否与服务器相连接。
4.根据权利要求1所述的软件自动升级方法,其特征在于:
S3的具体步骤包括:
S31:客户端路由器通过Socket向服务器发送Http请求,请求下载指定位置的软件版本文档;
S32:服务器收到请求后,发送软件版本文档到客户端路由器。
5.根据权利要求1所述的软件自动升级方法,其特征在于:
所述S5包括以下步骤:
S51:客户端路由器通过Socket向服务器发送Http请求,请求下载指定位置的软件升级包;
S52:客户端路由器申请用于存储软件升级包的内存空间;
S53:下载软件升级包;
S54:对下载的软件升级包进行基本校验;
S55:确认软件升级包下载无误后,将软件升级包暂时存储在所述内存空间中。
6.根据权利要求1所述的软件自动升级方法,其特征在于:
所述弹出软件升级提示界面由任意浏览器访问任意互联网资源时触发。
CN201710690849.XA 2017-08-14 2017-08-14 一种软件自动升级方法 Pending CN107291520A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710690849.XA CN107291520A (zh) 2017-08-14 2017-08-14 一种软件自动升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710690849.XA CN107291520A (zh) 2017-08-14 2017-08-14 一种软件自动升级方法

Publications (1)

Publication Number Publication Date
CN107291520A true CN107291520A (zh) 2017-10-24

Family

ID=60106033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710690849.XA Pending CN107291520A (zh) 2017-08-14 2017-08-14 一种软件自动升级方法

Country Status (1)

Country Link
CN (1) CN107291520A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110740154A (zh) * 2018-07-20 2020-01-31 视联动力信息技术股份有限公司 一种流媒体服务的升级方法、装置及设备
CN111736861A (zh) * 2020-05-22 2020-10-02 中联重科股份有限公司 车载终端、服务器以及车载终端程序更新方法和系统
CN111884938A (zh) * 2020-06-30 2020-11-03 海尔优家智能科技(北京)有限公司 路由器信息采集方法及装置
CN114301781A (zh) * 2021-12-22 2022-04-08 广州通则康威智能科技有限公司 有线路由器终端升级方法、装置、计算机设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026464A (zh) * 2006-02-25 2007-08-29 宇龙计算机通信科技(深圳)有限公司 无线终端的无线升级方法和无线升级系统
CN101576828A (zh) * 2009-06-01 2009-11-11 中兴通讯股份有限公司 软件版本升级方法及装置、服务器
CN101645801A (zh) * 2009-08-27 2010-02-10 中兴通讯股份有限公司 基于集群管理的软件版本升级方法及命令交换机
CN102624538A (zh) * 2011-01-27 2012-08-01 中兴通讯股份有限公司 一种初始化过程异常处理的方法和系统
CN105187262A (zh) * 2015-10-27 2015-12-23 上海斐讯数据通信技术有限公司 一种路由器升级方法及系统
CN105763461A (zh) * 2016-04-26 2016-07-13 深圳市共进电子股份有限公司 路由器升级方法和系统
CN105867962A (zh) * 2015-12-07 2016-08-17 乐视移动智能信息技术(北京)有限公司 系统升级的方法和装置
CN106209656A (zh) * 2016-07-29 2016-12-07 上海斐讯数据通信技术有限公司 路由器升级系统、方法及路由器
CN106302718A (zh) * 2016-08-12 2017-01-04 广东欧珀移动通信有限公司 数据下载的方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026464A (zh) * 2006-02-25 2007-08-29 宇龙计算机通信科技(深圳)有限公司 无线终端的无线升级方法和无线升级系统
CN101576828A (zh) * 2009-06-01 2009-11-11 中兴通讯股份有限公司 软件版本升级方法及装置、服务器
CN101645801A (zh) * 2009-08-27 2010-02-10 中兴通讯股份有限公司 基于集群管理的软件版本升级方法及命令交换机
CN102624538A (zh) * 2011-01-27 2012-08-01 中兴通讯股份有限公司 一种初始化过程异常处理的方法和系统
CN105187262A (zh) * 2015-10-27 2015-12-23 上海斐讯数据通信技术有限公司 一种路由器升级方法及系统
CN105867962A (zh) * 2015-12-07 2016-08-17 乐视移动智能信息技术(北京)有限公司 系统升级的方法和装置
CN105763461A (zh) * 2016-04-26 2016-07-13 深圳市共进电子股份有限公司 路由器升级方法和系统
CN106209656A (zh) * 2016-07-29 2016-12-07 上海斐讯数据通信技术有限公司 路由器升级系统、方法及路由器
CN106302718A (zh) * 2016-08-12 2017-01-04 广东欧珀移动通信有限公司 数据下载的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110740154A (zh) * 2018-07-20 2020-01-31 视联动力信息技术股份有限公司 一种流媒体服务的升级方法、装置及设备
CN111736861A (zh) * 2020-05-22 2020-10-02 中联重科股份有限公司 车载终端、服务器以及车载终端程序更新方法和系统
CN111884938A (zh) * 2020-06-30 2020-11-03 海尔优家智能科技(北京)有限公司 路由器信息采集方法及装置
CN114301781A (zh) * 2021-12-22 2022-04-08 广州通则康威智能科技有限公司 有线路由器终端升级方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN107291520A (zh) 一种软件自动升级方法
US10268471B2 (en) Method for upgrading terminal system, terminal, and system
WO2010145489A1 (zh) 一种软件更新的系统和方法
CN103885806B (zh) 机顶盒的系统软件在线升级的实现方法和装置
CN103841155A (zh) 一种软件下载方法和软件下载装置
CN104915237A (zh) 蓝牙设备固件程序的升级、升级控制方法及设备
CN102883358B (zh) 一种实现批量ap升级的方法及装置
CN102790961A (zh) 应用程序的更新方法、移动终端和服务器
WO2014177115A1 (zh) 一种移动终端应用批量管理方法及系统、升级服务器
CN109491698A (zh) 基于热补丁的系统更新方法及装置
WO2017092458A1 (zh) 一种移动终端浏览器文件传输方法及移动终端
CN103957117A (zh) 实现网络设备智能安装的系统及其方法
WO2018000997A1 (zh) 升级服务器、机顶盒、机顶盒升级文件下发方法及系统
WO2009049456A1 (fr) Procédé et système de gestion d'un terminal perdu
CN103544030A (zh) 软件升级方法、软件升级系统及智能终端
CN106557347A (zh) 软件更新方法及装置
CN103987064B (zh) 接入点ap升级方法及装置
CN104391720A (zh) 基于Android系统后视镜盒子升级方法及后视镜盒子
CN107844306A (zh) 应用程序的修复方法、装置、存储介质及终端
CN103384208A (zh) Epon系统中的onu设备的升级系统及升级方法
CN110879713A (zh) 一种android端强加密插件热更新管理方法
CN106708494B (zh) Jar升级方法及装置
CN107395394A (zh) 一种通过移动终端升级路由器的方法及系统
CN109218345A (zh) 获取目标资源的方法、存储介质、电子设备及系统
CN103729201A (zh) 无线固件升级的测试方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171024

RJ01 Rejection of invention patent application after publication