路由器升级系统、方法及路由器与流程

文档序号:11959870阅读:637来源:国知局
路由器升级系统、方法及路由器与流程

本发明涉及电学与通信领域,特别是涉及一种路由器升级系统、方法及路由器。



背景技术:

路由器,是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。路由器是互联网络的枢纽,"交通警察"。目前路由器已经广泛应用于各行各业,各种不同档次的产品已成为实现各种骨干网内部连接、骨干网间互联和骨干网与互联网互联互通业务的主力军。

路由器,又称网关设备,是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。

对于路由器,通常软件会有更新,因为新软件版本往往具有修复BUG、增加新功能和更换新UI等各种变化,这些变化无疑是为了给用户提供更好的体验,或更好地体现厂商文化。

但是,对于路由器的一般用户,通常只是开始使用路由器时,配置一下基本的上网功能,之后,可能就很少去登录路由器,而当有新的软件版本出现时,用户根本不知道。

目前,没有直接主动向用户提醒有新软件版本出现以提示用户可以进行路由器升级,只有当用户登录到路由器页面或者通过手机APP管理路由器时才可以得知有新的软件版本,这往往不具备实时性与主动性。



技术实现要素:

鉴于上述,有必要针对现有路由器升级所存在的不具备实时性与主动性的问题提出一种路由器升级系统、方法及路由器。

本方面的一方面提出了一种路由器升级系统,包括:

服务器,用以推送升级信息;

路由器,包括:

通信模块,用以接收所述升级信息;

应用模块,用以对所述升级信息进行处理以生成升级提醒配置文件,所述升级提醒配置文件中含有升级提醒信息;

内核模块,用以将所述升级提醒信息注入至用户访问页面中;

客户端,在所述客户端中的用户访问页面中显示升级提醒,以提醒用户所述路由器需要升级。

在一实施方式中,在所述应用模块中执行:

对所述升级信息进行解析以获得所述升级提醒信息;

将所述升级提醒信息保存至schemeupgrade配置文件以生成所述升级提醒配置文件;以及

通过NETLINK将所述升级提醒配置文件中的所述升级提醒信息发送至所述内核模块。

在一实施方式中,在所述内核模块中执行:

内核模块初始化;

创建NETLINK套接字,用以开启注入所述升级提醒信息;

在POST_ROUTING链注册钩子函数;

钩子函数对HTTP请求数据包、应答数据包进行处理,并在HTTP应答数据包中插入所述升级提醒信息的JS脚本,且启动定时器;以及

计算TCP的“checksum”值以达成对HTTP数据包的修改。

在一实施方式中,当根据所述升级提醒信息在所述客户端中的用户访问页面中选择升级时,则对所述路由器进行升级。

本发明的另一方面提出了一种使用上述任一项所述的路由器升级系统的路由器升级方法,包括:

所述服务器推送升级信息;

所述通信模块接收所述升级信息;

所述应用模块对所述升级信息进行处理以生成升级提醒配置文件,所述升级提醒配置文件中含有升级提醒信息;

所述内核模块将所述升级提醒信息注入至用户访问页面中;以及

在所述客户端中的用户访问页面中显示升级提醒,以提醒用户所述路由器需要升级。

在一实施方式中,在所述应用模块中执行:

对所述升级信息进行解析以获得所述升级提醒信息;

将所述升级提醒信息保存至schemeupgrade配置文件以生成所述升级提醒配置文件;以及

通过NETLINK将所述升级提醒配置文件中的所述升级提醒信息发送至所述内核模块。

在一实施方式中,在所述内核模块中执行:

内核模块初始化;

创建NETLINK套接字,用以开启注入所述升级提醒信息;

在POST_ROUTING链注册钩子函数;

钩子函数对HTTP请求数据包、应答数据包进行处理,并在HTTP应答数据包中插入所述升级提醒信息的JS脚本,且启动定时器;以及

计算TCP的“checksum”值以达成对HTTP数据包的修改。

在一实施方式中,当根据所述升级提醒信息在所述客户端中的用户访问页面中选择升级时,则对所述路由器进行升级。

本发明的再一方面提出了一种路由器,包括:

通信模块,用以接收服务器所发送的升级信息;

应用模块,用以对所述升级信息进行处理以生成升级提醒配置文件,所述升级提醒配置文件中含有升级提醒信息;

内核模块,用以将所述升级提醒信息注入至用户访问页面中,以提醒用户所述路由器需要升级。

在一实施方式中,在所述应用模块中执行:

对所述升级信息进行解析以获得所述升级提醒信息;

将所述升级提醒信息保存至schemeupgrade配置文件以生成所述升级提醒配置文件;以及

通过NETLINK将所述升级提醒配置文件中的所述升级提醒信息发送至所述内核模块。

在一实施方式中,在所述内核模块中执行:

内核模块初始化;

创建NETLINK套接字,用以开启注入所述升级提醒信息;

在POST_ROUTING链注册钩子函数;

钩子函数对HTTP请求数据包、应答数据包进行处理,并在HTTP应答数据包中插入所述升级提醒信息的JS脚本,且启动定时器;以及

计算TCP的“checksum”值以达成对HTTP数据包的修改。

在一实施方式中,当根据所述升级提醒信息在所述客户端中的用户访问页面中选择升级时,则对所述路由器进行升级。

综上,本发明所提出的路由器升级系统、方法及路由器,服务器可以主动推送升级信息,路由器则可以对升级信息进行处理,经处理后可获得升级提醒信息,并且可以将升级提醒信息注入至用户访问页面中,从而可以在客户端中的用户访问页面中进行升级提醒显示,使得用户不需登录路由器,也能及时得知路由器有新的版本需要更新,提高了实时性与主动性。

附图说明

图1绘示了本发明的一实施方式的路由器升级系统的结构示意图;

图2绘示了显示升级提醒的一界面示意图;以及

图3绘示了本发明的另一实施方式的路由器升级方法的流程图。

具体实施方式

为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实施方式的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。

参照图1,图1绘示了本发明的一实施方式的路由器升级系统的结构示意图。

如图1所示,升级系统100包括服务器110、路由器120及客户端130,其中,路由器120包括通信模块121、应用模块122及内核模块123。

服务器110,用以推送升级信息,在一实施例中,升级信息的报文格式如表一:

表一

需说明的是,对于升级信息的报文格式,并不限定于此,在其它实施例中,可以增加或调整字段,比如,输入字段,可以增加发布时间(pubTime)。

通信模块121,用以接收升级信息,这里可以是WAN口,此时,则可以通过路由器120的WAN口接收升级信息。

应用模块122,用以对升级信息进行处理以生成升级提醒配置文件,升级提醒配置文件中含有升级提醒信息。

这里的应用模块122,泛指应用层,关于对升级信息的处理,在一实施例中,可以在应用模块122中执行如下:

1)对升级信息进行解析以获得升级提醒信息,具体地说,通过对服务器110发送来的还有升级信息的数据进行解密,解密后再进行提取,就可得到一系列的升级提醒信息,比如,可以获取到软件版本号(softwareVer)、版本描述(verDescribe)、发布时间(pubTime)、重复时间/定时周期(repeatTime)等等。

2)将升级提醒信息保存至schemeupgrade配置文件以生成升级提醒配置文件,在一实施例中,可以通过uci方式将升级提醒信息保存到“schemeupgrade”配置文件中。

3)通过NETLINK将升级提醒配置文件中的升级提醒信息发送至内核模块,即,可以通过NETLINK方式将升级提醒信息发送至内核模块123。

内核模块123,用以将升级提醒信息注入至用户访问页面中。

这里的内核模块123,泛指操作系统内核,为了将升级提醒信息注入至用户访问页面中,在一实施例中,可以在内核模块123中执行如下:

1)内核模块初始化。

2)创建NETLINK套接字,用以开启注入升级提醒信息,即可以用来开启或关闭注入升级提醒信息。

3)在POST_ROUTING链注册钩子函数。

4)钩子函数对HTTP请求包、应答包进行处理,并在HTTP应答包中插入升级提醒信息的JS脚本,且启动定时器;

对于HTTP请求数据包,主要操作是将ACCEPT字段的内容修改为“Accept:*/*;q=0”,并删除HTTP报文头中的“TE”、“Upgrade”和“Accept-Encoding”字段。

对于HTTP应答数据包,只处理长度大于100,状态码为200、402、404、500和“Content-type”为“text/html”类型的数据包,且“Content-Encoding”字段值不为“gzip”且“deflate”,“Via”字段值不为“Bright”,报文头中没有“identity”值。随后依次删除HTTP头中的“Server”,“X-Cache”,“X-Cache-Lookup”,“X-Cache-Hits”,“Via”,“X-Via”,“X-CAChe-LookuP”,“X-Cache-Hits”,“X-”,“Etag”,“Age”,“Vary”,“Accept-Ranges”,“Connection”,“Pragma”,“Cache-Control”,“Last-Modified”字段尝试在<head>后面插入含升级提醒信息的JS脚本,插入成功后重新计算“Content-Length”和“chunked”长度,并在此时启动内核定时器,根据定时周期计算下一次升级提醒的时间。

5)计算TCP的“checksum”值以达成对HTTP数据包的修改。

客户端130,在客户端中的用户访问页面中显示升级提醒,以提醒用户路由器需要升级,用户访问页面,指浏览器上所访问的任何访问页面,这里的客户端130,可以是计算机,也可以移动终端,比如手机、平板电脑等。

由于在路由器120中,内核模块123对HTTP数据包进行了修改,使得在客户端130的访问页面可以显示升级提醒。

参照图2,图2绘示了显示升级提醒的一界面示意图。

如图2所示,在客户端130中,用户正在使用浏览器,此时,用户不用登录路由器120去查看路由器120是否有新版本需要升级,而是直接可以在浏览器的当前访问页面上提醒用户路由器120需要升级了,比如,显示提示语“路由器软件该升级啦”,并可以显示当前软件版本、最新软件版本、更新内容(即最新软件版本的描述)等信息,当然,还可以显示其它信息,比如最新软件版本的发布时间及提醒升级的下次提醒时间,即,升级提醒信息是可调整的,并不限定。

本实施方式中,当根据升级提醒信息在客户端130中的用户访问页面中选择升级时,则对路由器进行升级,比如,在图2中,点击升级按钮,即可升级,具体地说,可以先转到路由器登陆界面,登陆成功后,则下载固件进行升级。当然,用户也可以根据右上角的关闭键直接关掉提醒。

本实施方式中,服务器110,可以主动推送升级信息,路由器120对升级信息进行处理后可获得升级提醒信息,并且可以将升级提醒信息注入至用户访问页面中,从而可以在客户端130中的用户访问页面中进行升级提醒显示,使得用户不需登录路由器120,也能及时得知路由器120有新的版本需要更新,提高了实时性与主动性。

参照图3,图3绘示了本发明的另一实施方式的路由器升级方法的流程图。

下面结合图1、图2、图3来对本实施方式进行详细阐述,具体如下:

首先,在步骤S310中,服务器110推送升级信息。

然后,在步骤S320中,通信模块121接收升级信息。

之后,在步骤S330中,应用模块122对升级信息进行处理以生成升级提醒配置文件,升级提醒配置文件中含有升级提醒信息。

关于对升级信息的处理,在一实施例中,可以在应用模块122中执行如下:

1)对升级信息进行解析以获得升级提醒信息,具体地说,通过对服务器110发送来的还有升级信息的数据进行解密,解密后再进行提取,就可得到一系列的升级提醒信息,比如,可以获取到软件版本号(softwareVer)、版本描述(verDescribe)、发布时间(pubTime)、重复时间/定时周期(repeatTime)等等。

2)将升级提醒信息保存至schemeupgrade配置文件以生成升级提醒配置文件,在一实施例中,可以通过uci方式将升级提醒信息保存到“schemeupgrade”配置文件中。

3)通过NETLINK将升级提醒配置文件中的升级提醒信息发送至内核模块,即,可以通过NETLINK方式将升级提醒信息发送至内核模块123。

继而,在步骤S340中,内核模块123将升级提醒信息注入至用户访问页面中;以及

为了将升级提醒信息注入至用户访问页面中,在一实施例中,可以在内核模块123中执行如下:

1)内核模块初始化。

2)创建NETLINK套接字,用以开启注入升级提醒信息,即可以用来开启或关闭注入升级提醒信息。

3)在POST_ROUTING链注册钩子函数。

4)钩子函数对HTTP请求包、应答包进行处理,并在HTTP应答包中插入升级提醒信息的JS脚本,且启动定时器;

对于HTTP请求数据包,主要操作是将ACCEPT字段的内容修改为“Accept:*/*;q=0”,并删除HTTP报文头中的“TE”、“Upgrade”和“Accept-Encoding”字段。

对于HTTP应答数据包,只处理长度大于100,状态码为200、402、404、500和“Content-type”为“text/html”类型的数据包,且“Content-Encoding”字段值不为“gzip”且“deflate”,“Via”字段值不为“Bright”,报文头中没有“identity”值。随后依次删除HTTP头中的“Server”,“X-Cache”,“X-Cache-Lookup”,“X-Cache-Hits”,“Via”,“X-Via”,“X-CAChe-LookuP”,“X-Cache-Hits”,“X-”,“Etag”,“Age”,“Vary”,“Accept-Ranges”,“Connection”,“Pragma”,“Cache-Control”,“Last-Modified”字段尝试在<head>后面插入含升级提醒信息的JS脚本,插入成功后重新计算“Content-Length”和“chunked”长度,并在此时启动内核定时器,根据定时周期计算下一次升级提醒的时间。

5)计算TCP的“checksum”值以达成对HTTP数据包的修改。

然后,在步骤S350中,在客户端130中的用户访问页面中显示升级提醒,以提醒用户路由器120需要升级,比如,图2所示升级提醒。

在步骤S360中,当根据升级提醒信息在客户端130中的用户访问页面中选择升级时,则对路由器120进行升级,具体地说,可以先转到路由器登陆界面,登陆成功后,则下载固件进行升级。

在又一实施方式中,提出了一种路由器,其结构如图1所示的路由器120,包括通信模块121、应用模块122及内核模块123。

下面结合图1、图2来对本实施方式中的路由器120进行详细阐述,具体如下:

通信模块121,用以接收升级信息,这里可以是WAN口,此时,则可以通过路由器120的WAN口接收升级信息。

应用模块122,用以对升级信息进行处理以生成升级提醒配置文件,升级提醒配置文件中含有升级提醒信息。

这里的应用模块122,泛指应用层,关于对升级信息的处理,在一实施例中,可以在应用模块122中执行如下:

1)对升级信息进行解析以获得升级提醒信息,具体地说,通过对服务器110发送来的还有升级信息的数据进行解密,解密后再进行提取,就可得到一系列的升级提醒信息,比如,可以获取到软件版本号(softwareVer)、版本描述(verDescribe)、发布时间(pubTime)、重复时间/定时周期(repeatTime)等等。

2)将升级提醒信息保存至schemeupgrade配置文件以生成升级提醒配置文件,在一实施例中,可以通过uci方式将升级提醒信息保存到“schemeupgrade”配置文件中。

3)通过NETLINK将升级提醒配置文件中的升级提醒信息发送至内核模块,即,可以通过NETLINK方式将升级提醒信息发送至内核模块123。

内核模块123,用以将升级提醒信息注入至用户访问页面中。

这里的内核模块123,泛指操作系统内核,为了将升级提醒信息注入至用户访问页面中,在一实施例中,可以在内核模块123中执行如下:

1)内核模块初始化。

2)创建NETLINK套接字,用以开启注入升级提醒信息,即可以用来开启或关闭注入升级提醒信息。

3)在POST_ROUTING链注册钩子函数。

4)钩子函数对HTTP请求包、应答包进行处理,并在HTTP应答包中插入升级提醒信息的JS脚本,且启动定时器;

对于HTTP请求数据包,主要操作是将ACCEPT字段的内容修改为“Accept:*/*;q=0”,并删除HTTP报文头中的“TE”、“Upgrade”和“Accept-Encoding”字段。

对于HTTP应答数据包,只处理长度大于100,状态码为200、402、404、500和“Content-type”为“text/html”类型的数据包,且“Content-Encoding”字段值不为“gzip”且“deflate”,“Via”字段值不为“Bright”,报文头中没有“identity”值。随后依次删除HTTP头中的“Server”,“X-Cache”,“X-Cache-Lookup”,“X-Cache-Hits”,“Via”,“X-Via”,“X-CAChe-LookuP”,“X-Cache-Hits”,“X-”,“Etag”,“Age”,“Vary”,“Accept-Ranges”,“Connection”,“Pragma”,“Cache-Control”,“Last-Modified”字段尝试在<head>后面插入含升级提醒信息的JS脚本,插入成功后重新计算“Content-Length”和“chunked”长度,并在此时启动内核定时器,根据定时周期计算下一次升级提醒的时间。

5)计算TCP的“checksum”值以达成对HTTP数据包的修改。

客户端130,在客户端中的用户访问页面中显示升级提醒,以提醒用户路由器需要升级,用户访问页面,指浏览器上所访问的任何访问页面,这里的客户端130,可以是计算机,也可以移动终端,比如手机、平板电脑等。

由于在路由器120中,内核模块123对HTTP数据包进行了修改,使得在客户端130的访问页面可以显示升级提醒,如图2所示。

本实施方式中,当在客户端130中的用户访问页面中选择升级时,则对路由器进行升级,比如,在图2中,点击升级按钮,即可升级,具体地说,可以先转到路由器登陆界面,登陆成功后,则下载固件进行升级。

综上,本发明所提出的路由器升级系统、方法及路由器,服务器可以主动推送升级信息,路由器则可以对升级信息进行处理,经处理后可获得升级提醒信息,并且可以将升级提醒信息注入至用户访问页面中,从而可以在客户端中的用户访问页面中进行升级提醒显示,使得用户不需登录路由器,也能及时得知路由器有新的版本需要更新,提高了实时性与主动性。

以上仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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