一种用于网络终端设备的软件远程升级方法_2

文档序号:9524037阅读:来源:国知局
过“套接字”向网络发出请求或应答网络请求。
[0019]套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
[0020]应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP / IP协议交互提供了套接字(Socket)接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
[0021](2)、服务器接收到HTTP Get请求后,对比设备版本与固件版本,应答设备版本较低的设备;
(3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接;
(4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转;
该步骤中,使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新,大大降低了升级出错的概率,保证了网络升级设备的可靠性;
步骤(4)主要是为了校验获取网络数据的完整性、准确性。错误的数据造成的结果就是数据更新失败,设备运行不正常。所以,首先检验数据的准确性,然后在将正确的数据更新至将要运行的区域,然后跳转至该运行区域执行。正在运行的区域是不能够更新固件的,因为这样会导致正在运行的设备出错。必须将固件更新到非运行的区域,然后通过Boot区检测新固件区域,进而执行新区域的固件代码。
[0022](5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功。
[0023]上述设备可为多台。
[0024]上述设备为嵌入式设备;设备电路包含三块:MCU (主控芯片)、网卡芯片、存储芯片。
[0025]MCU为主控核心,主要用于处理业务逻辑,接收命令、返回执行状态等。网卡芯片主要辅助主控芯片收发网络数据。存储芯片主要用于暂存网络接收到的升级包,节省主控的存储资源。
[0026]上述设备采用Cortex_M3系列处理器。
[0027]此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所作的举例说明。
【主权项】
1.一种用于网络终端设备的软件远程升级方法,其特征在于: 在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信; 设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备; 当设备接收到升级指令后,进行如下升级步骤: (1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求; (2)、服务器接收到HTTPGet请求后,对比设备版本与固件版本,应答设备版本较低的设备; (3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接; (4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转; 该步骤中,设备使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新; (5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功; 所述的设备为嵌入式设备。2.根据权利要求1所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备为多台。3.根据权利要求1或2所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备采用Cortex-M3系列处理器。4.根据权利要求1或2所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备为嵌入式设备。
【专利摘要】本发明提供一种用于网络终端设备的软件远程升级方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信;设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备;当设备接收到升级指令后,进行升级步骤。
【IPC分类】G06F9/445
【公开号】CN105279001
【申请号】CN201510806194
【发明人】李臣明, 吕坡
【申请人】杭州云柚科技有限公司
【公开日】2016年1月27日
【申请日】2015年11月20日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1