一种路由器的模块升级方法及系统与流程

文档序号:13743063阅读:323来源:国知局
技术领域本发明涉及应用技术领域,特别涉及一种路由器的模块升级方法及系统。

背景技术:
随着移动互联网的发展,路由器作为家庭用户的上网设备的潜能也在不断的升级,从有线路由器到无线路器,再到现有的内置硬盘的路由器,路由器已经从传统的上网功能不断延伸出强大的USB共享功能,自行控制带宽、自行控制在线人数、自行控制浏览网页等功能。随着功能的扩展,对应地产生了功能的升级问题。普通用户基本上很少去修改路由器上的相关设置,即使修改也需要用户参照说明书一步一步进行,用户很难熟练且正确的进行升级操作。并且,许多路由器无需升级,即使能升级,大部分路由器通常是对整个固件进行升级。如同手机刷机,一旦出现升级失败整个路由器就会出现死机的状况,无法通过界面恢复导致不可用,这样既操作繁琐、又带来了不安全的因素。因此,如何让用户更好地使用新功能的同时、又能减少用户的升级操作,即是当前路由器亟需解决的升级问题。因而现有技术还有待改进和提高。

技术实现要素:
鉴于上述现有技术的不足之处,本发明的目的在于提供一种路由器的模块升级方法及系统,以解决现有路由器固件升级方式操作不方便的问题。为了达到上述目的,本发明采取了以下技术方案:一种路由器的模块升级方法,用于对路由器中已预先划分的各个功能模块进行升级,其包括:A、路由器启动时与服务器通信,路由器内预先划分的各个功能模块启动运行;B、接收服务器推送的模块升级列表,并根据所述模块升级列表判断所述路由器中各模块是否需要升级;C、需要升级时,从服务器中下载对应模块的升级包进行升级。所述的路由器的模块升级方法中,所述步骤B具体包括:B1、服务器获取路由器的版本信息,根据所述版本信息查询该路由器对应的模块升级列表并推送给路由器;B2、路由器接收服务器推送的模块升级列表,提取各个功能模块的目前版本号,将目前版本号与模块升级列表进行比对,判断各模块是否需要升级。所述的路由器的模块升级方法中,所述版本信息表示路由器的型号,模块升级列表中列出了各个功能模块的名称和最新版本号。所述的路由器的模块升级方法中,所述步骤B2具体包括:B21、路由器提取各个功能模块的名称以及目前版本号;B22、根据名称在模块升级列表中查询对应的名称,将相同名称的目前版本号与最新版本号进行比对;B23、若目前版本号与最新版本号相同则无需升级,若不同则需要升级。所述的路由器的模块升级方法中,所述步骤C具体包括:C1、需要升级时,路由器根据模块升级列表上的排列顺序从服务器上按序下载对应模块的升级包;C2、对下载的升级包进行编译生成用于安装的模块文件;C3、根据编译后的模块文件进行安装。所述的路由器的模块升级方法中,在所述步骤C之后,还包括:D、若安装失败,路由器将恢复区域中的预存的数据覆盖到系统引导程序引导的起始地址,引导开启路由器,使路由器恢复出厂设置。一种采用所述的路由器的模块升级方法的系统,其包括服务器和路由器:所述服务器用于推送模块升级列表给路由器;所述路由器包括:通信模块,用于路由器启动时与服务器通信,以及接收服务器推送的模块升级列表;处理模块,用于启动运行预先划分的各个功能模块,以及根据所述模块升级列表判断所述路由器中各模块是否需要升级;升级模块,用于需要升级时,从服务器中下载对应模块的升级包进行升级。所述的系统中,所述处理模块包括:控制单元,用于启动运行预先划分的各个功能模块;提取单元,用于提取各个功能模块的目前版本号;判断单元,用于将目前版本号与模块升级列表进行比对,判断各模块是否需要升级。所述的系统中,所述升级模块包括:下载单元,用于需要升级时,根据模块升级列表上的排列顺序从服务器上按序下载对应模块的升级包;编译器,用于对下载的升级包进行编译生成用于安装的模块文件;安装器,用于根据编译后的模块文件进行安装。所述的系统中,所述路由器还包括:重装模块,用于安装失败时将恢复区域中的预存的数据覆盖到系统引导程序引导的起始地址,引导开启路由器,使路由器恢复出厂设置。相较于现有技术,本发明提供的路由器的模块升级方法及系统,路由器启动时与服务器通信,路由器内预先划分的各个功能模块启动运行;接收服务器推送的模块升级列表,并根据所述模块升级列表判断所述路由器中各模块是否需要升级;需要升级时,从服务器中下载对应模块的升级包进行升级;通过将路由器模块化,能自动对各模块分别升级,简化了用户操作,无需每次升级都升级整个固件,提高了开发效率。附图说明图1为本发明较佳实施例提供的路由器的模块升级方法流程图。图2为本发明较佳实施例提供的系统的结构框图。具体实施方式本发明提供一种路由器的模块升级方法及系统,其改进点在于,对路由器按照不同的功能进行模块划分。当路由器启动时与服务端通信,服务端将更新的模块升级列表推送给路由器。路由器根据其版本号与模块升级列表进行对比,判断有模块可升级时,从服务器下载对应模块的升级包进行升级。本申请通过将路由器模块化,能自动对各模块分别升级,简化了用户操作,无需每次升级都升级整个固件,提高了开发效率,同时避免升级整个固件失败时导致路由器死机的情况。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。请参阅图1,其为本发明提供的路由器的模块升级方法流程图;所述模块升级方法包括:S100、路由器启动时与服务器通信,路由器内预先划分的各个功能模块启动运行;S200、接收服务器推送的模块升级列表,并根据所述模块升级列表判断所述路由器中各模块是否需要升级;S300、需要升级时,从服务器中下载对应模块的升级包进行升级。本实施例中路由器的升级方式采用了分块安装理念,将现有的整体固件按照功能性进行分包:即对路由器进行模块划分,将现有的路由器的开发程序改变为按照不同的功能分模块开发,最终获得wifi模块,usb模块,电话模块、主控制模块等功能模块。这些功能模块都集成为芯片电路,设置在电路板上。路由器启动时这些功能模块也启动运行。哪个模块可以升级,即从服务器上下载对应的升级包进行升级。为此,本实施例在路由器启动时,通过设置的通信模块与服务器通信来查询各功能模块是否可升级。所述服务器中存储有不同类型的路由器的各个功能模块的升级包。基于路由器的类型较多,在所述步骤S100中,路由器与服务器通信时,需要提取该路由器的版本信息发送给服务器。这样可避免服务器反馈其他类型的路由器的模块升级列表,减少多余数据发送,节省时间和数据流量。本实施例中,所述步骤S200具体包括:步骤201、服务器获取路由器的版本信息,根据所述版本信息查询该路由器对应的模块升级列表并推送给路由器。所述版本信息即是路由器的型号,每种型号的路由器中功能模块的划分是统一的。版本信息可在路由器与服务器通信时一起发送给服务器。所述模块升级列表中列出了各个功能模块的名称和最新版本号。步骤202、路由器接收服务器推送的模块升级列表,提取各个功能模块的目前版本号,将目前版本号与模块升级列表进行比对,判断各模块是否需要升级。路由器提取各个功能模块的名称以及目前版本号,根据名称在模块升级列表中查询对应的名称,将相同名称的目前版本号与最新版本号进行比对,若相同则无需升级,若不同,则需要升级。哪些功能模块需要升级时,路由器就从服务器下载该功能模块对应的升级包进行升级。各个功能模块的升级包和模块升级列表是相链接的,这样可以方便路由器快速查找出对应的升级包进行下载。在所述步骤S300中,下载时根据模块升级列表上的排列顺序按序下载。等所有升级包下载完成后再按序升级。升级时,由于路由器的型号不同,主控制模块(相当于主控制系统,协调控制其他功能模块使路由器正常工作)的控制系统也不相同。本实施例针对不同的主控制模块配置相应的编译器,由编译器对下载的升级包进行编译来生成用于安装的可执行的模块文件,以适应当前的控制系统的程序。路由器中还设置有安装器,其根据编译后的模块文件进行安装,安装时:先解析模块文件,接着将相关数据以及依赖库安装到该功能模块对应的位置(即指定分区)。同时,安装器还能根据模块文件中的相关数据提供卸载等功能。若安装成功,即可将该功能模块升级为最新版本后运行。需要理解的是,路由器在最开始启动时,通过通信模块与服务器通信获取模块升级列表。路由器运行或升级后运行时,由通信模块实时监测路由器的运行状态。此时,通信模块还实时检测服务器上的模块升级列表,若模块升级列表又再次更新,则继续发送路由器的版本信息获取新的模块升级列表。若安装失败,需要对路由器进行恢复出厂值操作。现有的路由器采用reset键清空用户数据以达到恢复目的,这样设置是因为普通路由器没有安装软件,只记录用户设定的数据,因此仅清空数据即可。而对于智能路由器来说简单的reset键是无法回复的,因为智能路由器安装了许多的应用插件,仅清空设置的数据不会清除应用插件。实施例将路由器上的flash(闪存)设置出一段可读不可写的恢复区域(4M内存),将最小的出产设置固件烧录到这段恢复区域,用户无法进行修改,恢复区域中的数据用于升级失败进行数据的恢复使用。此时,路由器会自动重启,系统引导程序会将flash的恢复区域中的数据覆盖到系统指定的起始地址(即系统引导程序uboot引导的起始地址),然后引导开启路由器,恢复原厂设置,这样即可保障路由器在升级失败的情况下能恢复使用。但是,此时的功能模块均是出厂设置,不是最新版本。通信模块会再次与服务器通信获取模块升级列表对所有功能模块进行升级。需要理解的是,上述实施例是对功能模块进行自动升级,这些功能模块是路由器的组成模块。在具体实施时,路由器中还可以安装一些附加功能应用。对于这些附加功能应用可以根据用户的实际需要通过路由器web页面或者移动终端(如手机,ipad)手动控制路由器来下载安装。基于上述的路由器的模块升级方法,本发明还相应提供一种实现路由器的模块升级方法的系统,请一并参阅图2,所述系统包括服务器10和路由器20,服务器10与路由器20通信连接。所述服务器20推送模块升级列表给路由器10。所述路由器10包括:通信模块110,用于路由器启动时与服务器通信,以及接收服务器推送的模块升级列表;处理模块120,用于启动运行预先划分的各个功能模块,以及根据所述模块升级列表判断所述路由器中各模块是否需要升级;升级模块130,用于需要升级时,从服务器中下载对应模块的升级包进行升级。所述通信模块110、处理模块120、升级模块130依次连接,所述通信模块110、升级模块130与服务器20通信连接。其中,所述处理模块120包括:提取单元121,用于提取各个功能模块的目前版本号;判断单元122,用于将目前版本号与模块升级列表进行比对,判断各模块是否需要升级;控制单元123,用于启动运行预先划分的各个功能模块;所述提取单元121连接通信模块110和判断单元122,所述判断单元122连接升级模块130。所述升级模块130包括:下载单元131,用于需要升级时,根据模块升级列表上的排列顺序从服务器上按序下载对应模块的升级包;编译器132,用于对下载的升级包进行编译生成用于安装的模块文件;安装器133,用于根据编译后的模块文件进行安装;所述下载单元131、编译器132、安装器133依次连接,所述下载单元131连接判断单元122和服务器20。所述路由器还包括重装模块140,用于安装失败时将恢复区域中的预存的数据覆盖到系统引导程序引导的起始地址,引导开启路由器,使路由器恢复出厂设置。所述重装模块140连接安装器133。综上所述,本发明将路由器按照不同的功能进行模块划分。当路由器启动时与服务端通信,服务端将最新的模块升级列表推送给路由器。路由器根据其版本号与模块升级列表进行对比,判断有模块可升级时,从服务器下载对应模块的升级包进行升级。本申请通过将路由器模块化,能自动对各模块分别升级,简化了用户操作,无需每次升级都升级整个固件,提高了开发效率;同时提供了自动恢复功能,避免升级整个固件失败时导致路由器死机的情况。可以理解的是,对本领域普通技术人员来说,可根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1