一种内置数据卡的升级方法及系统 【技术领域】
本发明涉及固件升级技术领域,尤其涉及一种内置数据卡的升级方法及系统。
背景技术
随着3G(第三代移动通信技术)的大规模商用,内置数据卡设备开始大规模地出现,内置数据卡设备通过内置数据卡接入3G网络,为用户提供服务。
目前,对内置数据卡的升级方法比较单一,需要对内置数据卡进行升级时,要将内置数据卡设备返回到售后服务部门,进行拆机处理,显然,这种方式会给用户造成很大的不便,并增加产品的使用成本,降低用户的忠诚度。
【发明内容】
本发明要解决的技术问题是提供一种内置数据卡的升级方法及系统,解决内置数据卡升级不便的问题,实现对内置数据卡的简单、快捷升级。
为解决上述技术问题,本发明的一种内置数据卡的升级方法,包括:
内置数据卡设备从升级服务器下载升级文件后,打开内置数据卡的升级标志,并重启内置数据卡,完成重启后,内置数据卡设备建立与内置数据卡的会话,将所下载的升级文件发送到内置数据卡,并关闭内置数据卡的升级标志,并再次重启内置数据卡。
进一步地,内置数据卡设备从升级服务器下载升级文件前,还从升级服务器接收广播数据包,在该广播数据包中携带升级服务器的IP地址和升级文件的列表;
内置数据卡设备根据升级服务器的IP地址,将自身的IP地址设置为与升级服务器的IP地址在相同网段内;
内置数据卡设备根据升级文件的列表,执行从升级服务器下载升级文件。
进一步地,在广播数据包中还携带有控制信息和升级文件的版本信息,内置数据卡设备将自身的IP地址设置为与升级服务器的IP地址在相同网段内之前,还根据控制信息和升级文件的版本信息判断是否需要进行升级;
如果控制信息指示强制升级,则需要进行升级;
如果控制信息指示正常升级,并且根据升级文件的版本信息判断升级文件的版本高于内置数据卡中文件的版本时,则也需要进行升级。
进一步地,内置数据卡设备采用微装载(uloader)协议将所下载的升级文件发送到内置数据卡。
进一步地,内置数据卡设备在打开内置数据卡的升级标志,并重启内置数据卡时,通过串口AT命令轮询检测内置数据卡是否启动,实现检测内置数据卡是否完成重启,若检测到内置数据卡关闭,则休眠一指定时间后,再执行检测;若检测到内置数据卡启动,则内置数据卡完成重启。
进一步地,一种内置数据卡的升级系统,包括:内置数据卡设备和升级服务器,其中:
内置数据卡设备,用于从升级服务器下载升级文件,打开内置数据卡的升级标志,并重启内置数据卡,完成重启后,建立与内置数据卡的会话,将所下载的升级文件发送到内置数据卡,并关闭内置数据卡的升级标志,并再次重启内置数据卡。
进一步地,内置数据卡设备,还用于在从升级服务器下载升级文件前,从升级服务器接收广播数据包,在该广播数据包中携带升级服务器的IP地址和升级文件的列表;
内置数据卡设备根据升级服务器的IP地址,将自身的IP地址设置为与升级服务器的IP地址在相同网段内;根据升级文件的列表,执行从升级服务器下载升级文件。
进一步地,在广播数据包中还携带有控制信息和升级文件的版本信息,内置数据卡设备将自身的IP地址设置为与升级服务器的IP地址在相同网段内之前,还根据控制信息和升级文件的版本信息判断是否需要进行升级;
如果控制信息指示强制升级,则需要进行升级;
如果控制信息指示正常升级,并且根据升级文件的版本信息判断升级文件的版本高于内置数据卡中文件的版本时,则也需要进行升级。
进一步地,内置数据卡设备采用uloader协议将所下载的升级文件发送到内置数据卡。
进一步地,内置数据卡设备在打开内置数据卡的升级标志,并重启内置数据卡时,通过串口AT命令轮询检测内置数据卡是否启动,实现检测内置数据卡是否完成重启,若检测到内置数据卡关闭,则休眠一指定时间后,再执行检测;若检测到内置数据卡启动,则内置数据卡完成重启。
本发明通过将内置数据卡的设备作为代理,从升级服务器下载升级文件,再将升级文件发送到内置数据卡中,实现对内置数据卡的升级更新,采用本发明的方法对内置数据卡进行升级,无需将内置数据卡设备返厂处理,操作简单、方便快捷,降了用户的使用成本,增加了用户的忠诚度。
【附图说明】
图1为本发明内置数据卡升级方法的流程图;
图2为本发明内置数据卡升级系统的架构图。
【具体实施方式】
本发明中,内置数据卡设备启动后,判断是否有升级服务器提供升级服务;如果发现升级服务,则从升级服务器下载升级文件;内置数据卡设备与内置数据卡进行交互,完成内置数据卡的升级。本发明中内置数据卡设备与升级服务器通过无线方式或采用网线网口进行数据通信,与内置数据卡通过串口和MCCI(Moore Computer Consult Inc.,摩尔电脑顾问公司)USB(通用串行总线)通信。
下面结合附图对本发明作进一步地详细说明。
图1所示为本发明内置数据卡的升级方法,包括:
101:建立内置数据卡设备与升级服务器的连接,启动升级服务器,运行升级软件,升级服务器周期性发送广播数据包,在该广播数据包中携带升级服务器的控制信息、IP地址、升级文件的列表与升级文件的版本信息;
如,升级服务器可每隔100毫秒发送一个广播数据包,广播数据包可采用UDP(用户数据报协议)包。广播数据包表明升级服务器正在运行。
控制信息分为强制升级和正常升级,强制升级表示升级过程无需检查版本号,需要强制进行升级;正常升级表示,升级过程需要检查版本号,内置数据卡文件的版本低于升级文件的版本时才进行升级。
102:内置数据卡设备接收广播数据包;
如果广播数据包采用UDP包,则通过UDP标识,识别广播数据包。
103:内置数据卡设备对接收到的广播数据包进行解析,判断是否需要升级,如果无需升级,则执行步骤104;否则,执行步骤105;
如果广播数据包的控制信息指示强制升级,则需要进行升级。
如果控制信息指示正常升级,则将从内置数据卡读取的版本信息与广播数据包中携带的版本信息进行比对,若内置数据卡中的版本信息低于广播数据包携带的版本信息,则需要执行升级;否则,不升级。
104:内置数据卡设备通知升级服务器无需升级,升级服务器显示结果,结束;
105:内置数据卡设备根据广播数据包中携带的升级服务器的IP地址,设置自身的IP地址与升级服务器的IP地址在相同网段;
106:内置数据卡设备按照广播数据包中携带的可升级的文件列表,从升级服务器下载升级文件;
采用TCP(传输控制协议)从升级服务器下载升级文件,下载升级文件后进行CRC校验,检验数据的完整性。
107:内置数据卡设备打开内置数据卡的升级标志;
内置数据卡设备通过串口使用AT(Attention)命令打开内置数据卡的升级标志。
108:内置数据卡设备重启内置数据卡;
内置数据卡设备通过串口使用AT命令重启内置数据卡。
109:内置数据卡设备通过串口使用AT命令轮询检测内置数据卡是否启动,若未启动,则休眠一指定时间(如三秒),再执行检测;若检测到内置数据卡启动,则重启完成;
该步骤的目的是判断内置数据卡是否重启完成。
110:内置数据卡设备检测到内置数据卡启动后,打开MCCI USB接口,使用uloader(microloader,微装载)协议与内置数据卡建立会话;
111:内置数据卡设备使用uloader协议将升级文件发送到内置数据卡;
112:内置数据卡设备使用uloader协议通知内置数据卡在下载完毕后进行重启;
113:内置数据卡设备通过串口使用AT命令关闭内置数据卡的升级标志;
114:内置数据卡设备采用升级文件的版本信息,更新内置数据卡中保存的版本信息,内置数据卡进行重启;
115:内置数据卡设备使用TCP协议通知升级服务器升级成功,升级服务器显示升级成功信息,以指示灯的慢速闪烁,表示升级成功,升级过程结束。
在步骤106~114之间,任一步骤失败时,向升级服务器发送失败信息,以便升级服务器显示升级失败信息。
内置数据卡的升级状态可以通过两种途径表示:
一、指示灯快速闪烁表示正在升级;有规律地慢速闪烁表示升级完成;常亮表示升级成功;熄灭表示升级失败。
二、内置数据卡设备将升级状态反馈到升级服务器,升级服务器在图形界面上显示所连接的内置数据卡设备的升级状态,状态包括:已连接、正在升级、升级成功和升级失败。
以上所述仅是本发明的优选方式,其中升级服务器与内置数据卡设备之间的通信也可以采用其它网络协议,内置数据卡设备与内置数据卡的信令通信不限于串口通信,数据通信也不限于USB接口,内置数据卡设备与内置数据卡之间也不限于uloader协议,只要两者之间建立会话即可。
图2所示为本发明内置数据卡的升级系统,包括:升级服务器和内置数据卡设备,升级服务器可以采用PC(个人电脑),内置数据卡设备和升级服务器可以通过无线连接,也可以通过普通网线连接,通过串口通信,内置数据卡设备通过MCCI USB使用uloader协议与内置数据卡通信;其中:
内置数据卡设备,用于从升级服务器接收广播数据包,在该广播数据包中携带升级服务器的IP地址、升级文件的列表、控制信息和升级文件的版本信息,内置数据卡设备根据控制信息和升级文件的版本信息判断是否需要进行升级;如果控制信息指示强制升级,则需要进行升级;如果控制信息指示正常升级,并且根据升级文件的版本信息判断升级文件的版本高于内置数据卡中文件的版本时,则也需要进行升级。
内置数据卡设备根据升级服务器的IP地址,将自身的IP地址设置为与升级服务器的IP地址在相同网段内;根据升级文件的列表,执行从升级服务器下载升级文件,打开内置数据卡的升级标志,并重启内置数据卡,完成重启后,建立与内置数据卡的会话,采用uloader协议将所下载的升级文件发送到内置数据卡,并关闭内置数据卡的升级标志,并再次重启内置数据卡。
内置数据卡设备在打开内置数据卡的升级标志,并重启内置数据卡时,通过串口AT命令轮询检测内置数据卡是否关闭,实现检测内置数据卡是否完成重启,若检测到内置数据卡关闭,则休眠一指定时间后,再执行检测;若检测到内置数据卡启动,则内置数据卡完成重启。
系统中设备的其它功能详见方法内容描述。
以上所述仅是本发明的优选方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的情况下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。