基于WINDOWS和LINUX平台的网关批量升级方法及系统技术方案

技术编号:14370080 阅读:63 留言:0更新日期:2017-01-09 15:39
本发明专利技术公开了一种基于WINDOWS和LINUX平台的网关批量升级方法及系统,涉及跨平台的设备间通信领域。该方法包括以下步骤:服务端通过原始套接字,建立跨平台的服务端‑客户端的双向通信,服务端采用WINDOWS系统,客户端采用Linux嵌入式系统;服务端给发现的客户端动态分配唯一IP地址,建立传输控制协议TCP连接;服务端校验客户端是否需要升级,如果不需要升级,则结束;如果需要升级,客户端重写Linux系统内核TCP/IP协议中定义的文件传输协议,将文件分片拼接成块后,直接保存在内存中。本发明专利技术能保证网关客户端接收文件的完整和正确性,节省内存空间,降低升级失败的概率,清晰确认升级的开始和结束标识。

【技术实现步骤摘要】

本专利技术涉及跨平台的设备间通信领域,具体是涉及一种基于WINDOWS和LINUX平台的网关批量升级方法及系统
技术介绍
Linux系统是一种基于POSIX(PorttableOperationSystemInterfaceofUnix,可移植操作系统Unix)和Unix的多用户、多任务、多线程和多CPU的操作系统。如今,已经有许多硬件设备安装了完整版本或裁剪版本的Linux系统,例如:家庭网关、手机、平板电脑、计算机、大型服务器等。基于Linux的家庭网关作为一款三网融合的用户侧终端产品,应用越来越广泛,需求也越来越多。工程在外经常遇到有大批量(一万台或更多台)新设备,由于某种原因,设备存储在仓库中时,在应用于家庭用户之前,需要重新升级版本或配置。在不具备EMS(ElementManagementSystem,图形网管系统)平台或RMS(RemoteManagementSystem,远程管理系统)平台,唯一具备WINDOWS操作系统的PC的条件下,需要人工对每台设备进行升级,既耗费时间也耗费人力。目前已公开的Linux系统的网关设备批量升级方案有:基于组播的批量升级或基于UDP(UserDatagramProtocol,用户数据报协议)的广播升级。这两种方案主要存在以下三点缺陷:(1)存在网关客户端文件接收不完整的问题。基于UDP协议的升级不支持分片重传和校验,所以不能保证PC发送的每个数据分片,网关都能正确接收,难以保证网关客户端接收文件的完整和正确性。(2)存在占用更大空间、升级失败的概率较大。传统的两种升级方式:第一种,通过FTP命令将升级文件传输到设备FLASH分区,并将FLASH中文件读取到内存中,继而通过调用升级接口完成升级过程,且升级接口在升级过程中需要分配相应内存完成用户态及内核态的交互处理,因此此方案需要一倍升级文件大小的FLASH空间及两倍升级文件大小的DDR空间,较耗FLASH及DDR资源;第二种,通过FTP命令将升级文件传输到设备DDR空间,并将DDR空间中文件读取,此方案需要三倍升级文件大小的DDR空间,对DDR资源需求较大;传统的两种升级方式需要至少2倍以上镜像大小的剩余空间供升级,受嵌入式系统FLASH大小限制,导致升级失败的概率较大。(3)传统的升级过程没有校验机制,导致升级过程不智能,升级开始和结束标识无法确认。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种基于WINDOWS和LINUX平台的网关批量升级方法及系统,能够保证网关客户端接收文件的完整和正确性,节省内存空间,降低升级失败的概率,能够清晰确认升级的开始和结束标识。本专利技术提供一种基于WINDOWS和LINUX平台的网关批量升级方法,包括以下步骤:S1、服务端通过原始套接字,建立跨平台的服务端-客户端的双向通信,服务端采用WINDOWS系统,客户端采用Linux嵌入式系统;S2、服务端给发现的客户端动态分配唯一IP地址,建立传输控制协议TCP连接;S3、服务端校验客户端是否需要升级,如果不需要升级,则结束;如果需要升级,客户端重写Linux系统内核TCP/IP协议中定义的文件传输协议,将文件分片拼接成块后,直接保存在内存中。在上述技术方案的基础上,步骤S1中,通过原始套接字,自定义消息格式,扩展TCP/IP协议的第五层应用层通信交互报文,建立跨平台的服务端-客户端的双向通信。在上述技术方案的基础上,步骤S2中,服务端给发现的客户端动态分配唯一IP地址、建立TCP连接的过程如下:服务端启动自动发现线程,循环发送广播UDP协议的发现报文,并在数据字段携带服务端介质访问控制MAC地址;客户端接收到服务端发送的发现报文时,上报自己的MAC地址,请求分配IP地址;服务端采用循环分配算法,给发现的不同MAC地址的客户端动态分配唯一IP地址;客户端根据分配的IP地址和指定端口号,与服务端建立TCP连接。在上述技术方案的基础上,所述服务端采用循环分配算法,给发现的不同MAC地址的客户端动态分配唯一IP地址的过程如下:服务端对所有连接的客户端,维护一个设备信息链表,若在设备信息链表中找到客户端的MAC地址,且IP地址池中有对应的IP地址,则将该IP地址分配给客户端;否则,在IP地址池中分配新的IP地址给客户端,并在IP地址池中标记该IP地址已占用。在上述技术方案的基础上,步骤S3中,校验客户端是否需要升级的过程如下:建立TCP连接后,在服务端输入校验信息,服务端开启文件传输协议服务,客户端上报镜像编译时间和配置版本号,客户端等待服务器回复是否升级,如果在规定时间之内没有回复,则超时,如果超时达到一定次数,客户端循环上报信息并等待一段时间;服务端判断是否需要升级客户端,如果不需要升级,服务端通过点灯进行标识;如果需要升级,服务端向客户端下发升级URL、文件名,客户端进行升级;最后,客户端向服务端上报状态信息。本专利技术还提供一种基于WINDOWS和LINUX平台的网关批量升级系统,该系统包括服务端和客户端,所述服务端采用WINDOWS系统,客户端采用Linux嵌入式系统;服务端通过原始套接字,建立跨平台的服务端-客户端的双向通信;服务端给发现的客户端动态分配唯一IP地址,建立传输控制协议TCP连接;服务端校验客户端是否需要升级,如果不需要升级,则结束;如果需要升级,客户端重写Linux系统内核TCP/IP协议中定义的文件传输协议,将文件分片拼接成块后,直接保存在内存中。在上述技术方案的基础上,所述服务端通过原始套接字,自定义消息格式,扩展TCP/IP协议的第五层应用层通信交互报文,建立跨平台的服务端-客户端的双向通信。在上述技术方案的基础上,所述服务端给发现的客户端动态分配唯一IP地址、建立TCP连接的过程如下:服务端启动自动发现线程,循环发送广播UDP协议的发现报文,并在数据字段携带服务端介质访问控制MAC地址;客户端接收到服务端发送的发现报文时,上报自己的MAC地址,请求分配IP地址;服务端采用循环分配算法,给发现的不同MAC地址的客户端动态分配唯一IP地址;客户端根据分配的IP地址和指定端口号,与服务端建立TCP连接。在上述技术方案的基础上,所述服务端采用循环分配算法,给发现的不同MAC地址的客户端动态分配唯一IP地址的过程如下:服务端对所有连接的客户端,维护一个设备信息链表,若在设备信息链表中找到客户端的MAC地址,且IP地址池中有对应的IP地址,则将该IP地址分配给客户端;否则,在IP地址池中分配新的IP地址给客户端,并在IP地址池中标记该IP地址已占用。在上述技术方案的基础上,所述服务端校验客户端是否需要升级的过程如下:建立TCP连接后,在服务端输入校验信息,服务端开启文件传输协议服务,客户端上报镜像编译时间和配置版本号,客户端等待服务器回复是否升级,如果在规定时间之内没有回复,则超时,如果超时达到一定次数,客户端循环上报信息并等待一段时间;服务端判断是否需要升级客户端,如果不需要升级,服务端通过点灯进行标识;如果需要升级,服务端向客户端下发升级URL、文件名,客户端进行升级;最后,客户端向服务端上报状态信息。与现有技术相比,本专利技术的优点如下:(1)可扩展性。本专利技术通过原始套接字,自本文档来自技高网
...
基于WINDOWS和LINUX平台的网关批量升级方法及系统

【技术保护点】
一种基于WINDOWS和LINUX平台的网关批量升级方法,其特征在于,包括以下步骤:S1、服务端通过原始套接字,建立跨平台的服务端‑客户端的双向通信,服务端采用WINDOWS系统,客户端采用Linux嵌入式系统;S2、服务端给发现的客户端动态分配唯一IP地址,建立传输控制协议TCP连接;S3、服务端校验客户端是否需要升级,如果不需要升级,则结束;如果需要升级,客户端重写Linux系统内核TCP/IP协议中定义的文件传输协议,将文件分片拼接成块后,直接保存在内存中。

【技术特征摘要】
1.一种基于WINDOWS和LINUX平台的网关批量升级方法,其特征在于,包括以下步骤:S1、服务端通过原始套接字,建立跨平台的服务端-客户端的双向通信,服务端采用WINDOWS系统,客户端采用Linux嵌入式系统;S2、服务端给发现的客户端动态分配唯一IP地址,建立传输控制协议TCP连接;S3、服务端校验客户端是否需要升级,如果不需要升级,则结束;如果需要升级,客户端重写Linux系统内核TCP/IP协议中定义的文件传输协议,将文件分片拼接成块后,直接保存在内存中。2.如权利要求1所述的基于WINDOWS和LINUX平台的网关批量升级方法,其特征在于:步骤S1中,通过原始套接字,自定义消息格式,扩展TCP/IP协议的第五层应用层通信交互报文,建立跨平台的服务端-客户端的双向通信。3.如权利要求1所述的基于WINDOWS和LINUX平台的网关批量升级方法,其特征在于:步骤S2中,服务端给发现的客户端动态分配唯一IP地址、建立TCP连接的过程如下:服务端启动自动发现线程,循环发送广播UDP协议的发现报文,并在数据字段携带服务端介质访问控制MAC地址;客户端接收到服务端发送的发现报文时,上报自己的MAC地址,请求分配IP地址;服务端采用循环分配算法,给发现的不同MAC地址的客户端动态分配唯一IP地址;客户端根据分配的IP地址和指定端口号,与服务端建立TCP连接。4.如权利要求3所述的基于WINDOWS和LINUX平台的网关批量升级方法,其特征在于:所述服务端采用循环分配算法,给发现的不同MAC地址的客户端动态分配唯一IP地址的过程如下:服务端对所有连接的客户端,维护一个设备信息链表,若在设备信息链表中找到客户端的MAC地址,且IP地址池中有对应的IP地址,则将该IP地址分配给客户端;否则,在IP地址池中分配新的IP地址给客户端,并在IP地址池中标记该IP地址已占用。5.如权利要求1所述的基于WINDOWS和LINUX平台的网关批量升级方法,其特征在于:步骤S3中,校验客户端是否需要升级的过程如下:建立TCP连接后,在服务端输入校验信息,服务端开启文件传输协议服务,客户端上报镜像编译时间和配置版本号,客户端等待服务器回复是否升级,如果在规定时间之内没有回复,则超时,如果超时达到一定次数,客户端循环上报信息并等待一段时间;服务端判断是否需要升级客户端,如果不需要升级,服务端通过点灯进行标识;如果需要升级,服务端向客户端下发升级URL、文件名,客户端进行升级;最后,客户端向服务端上报状态...

【专利技术属性】
技术研发人员:郭娟徐会宾李铿
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1