通用升级方法及装置和系统的制作方法

文档序号:7752353阅读:226来源:国知局
专利名称:通用升级方法及装置和系统的制作方法
技术领域
本发明涉及到通信技术领域,特别涉及到一种通用升级方法及装置和系统。
背景技术
目前,在手机、无线网卡等终端设备在生产过程中会预先写入实现特定功能的软 件,但由于这些软件会经常进行改进,所以需要通过重新下载软件版本来更新终端软件。参照图1,现有的升级方法大多都是通过串口、USB转串口和芯片公司定义的通信 协议来升级。例如在个人计算机(Personal Computer,PC)端通过串口或通用串行总线 (Universal Serial Bus,USB)转串口的方式以一定的波特率发送一种固有格式的数据包, 手机端根据已经定义好的协议判断校验,返回正确以否,正确写入手机储存器,错误重传, 直到所有数据写入手机,重启手机使新手机软件版本生效;造成这种固有的方式最主要的 原因是芯片协议的不统一造成必需使用串口和USB转串口,还有手机端没有直接和PC侧直 接交互的关于下载的USB协议。在具体实施过程中,本发明的发明人发现,串口及USB转串口通信速率低,造成升 级时间较长;由于串口协议的不同,造成在众多终端升级方法不同。

发明内容
本发明的主要目的为提供一种实现高效且通用的基于MASS STORAGE协议的升级 方法及装置和系统。本发明提出一种基于MASS STORAGE协议的通用升级方法,包括服务端向枚举成功的移动终端发送升级请求;所述移动终端根据所述升级请求返回响应消息;服务端接收所述响应消息后,发送MASS STORAGE协议的升级数据包到移动终端。进一步,所述服务端发送满足MASS STORAGE协议的升级数据包到移动终端后包 括移动终端根据升级请求将所述升级数据包写入自身存储模块相应位置。进一步,所述服务端向枚举成功的移动终端发送升级请求具体为服务端通过DeviceloControl函数向枚举成功的移动终端发送升级请求。进一步,所述服务端向枚举成功的移动终端发送升级请求后包括移动终端接收升级请求后,按照USB的底层传输Bulk-ONLY来处理分析所述升级 请求。进一步,所述服务端向枚举成功的移动终端发送升级请求具体为所述服务端向枚举成功的移动终端发送由相应SCSI-2指令打包成CBW命令包作 为升级请求。进一步,所述服务端向枚举成功的移动终端发送升级请求前包括移动终端连接服务端;
服务端调用API函数进行检测枚举;当所述移动终端为符合预置规则设备时,判断所述移动终端枚举成功。一种升级服务器,包括发送模块,用于向枚举成功的移动终端发送升级请求;接收模块,用于接收所述移动终端根据所述升级请求返回的响应消息;升级模块,用于发送MASS STORAGE协议的升级数据包到移动终端。进一步,所述发送模块具体用于通过DeviceloControl函数向枚举成功的移动 终端发送升级请求。进一步,所述发送模块具体用于向枚举成功的移动终端发送由相应SCSI-2指令 打包成CBW命令包作为升级请求进一步,所述升级服务器还包括连接模块,用于连接移动终端;检测模块,用于调用API函数进行检测枚举;判断模块,用于当所述移动终端为符合预置规则设备时,判断所述移动终端枚举 成功。一种移动终端,包括接收模块,用于枚举成功后接收服务端发送的升级请求;响应模块,用于根据所述升级请求返回响应消息;升级模块,用于接收服务端根据所述响应消息,发送的基于MASS STORAGE协议的 升级数据包。进一步,所述移动终端还包括写入模块和存储模块所述写入模块,用于根据升级请求将升级数据包写入存储模块相应位置;所述存储模块,用于记录所述升级数据包。进一步,所述接收模块还用于接收升级请求后,按照USB的底层传输Bulk-ONLY来处理分析所述升级请求。一种基于MASS STORAGE协议的通用升级系统,包括服务端,用于向枚举成功的移动终端发送升级请求;接收所述移动终端根据所述 升级请求返回的响应消息;发送MASS STORAGE协议的升级数据包到移动终端;移动终端,用于枚举成功后接收服务端发送的升级请求;根据所述升级请求返回 响应消息;接收服务端发送的基于MASS STORAGE协议的升级数据包。本发明通过采用USB通信进行升级,传输效率高;移动终端和服务端的通信协议 采用MASS STORAGE协议,实现了升级的通用性。


图1是手机终端升级软件版本时的硬件连接示意图;图2是本发明一种基于MASS STORAGE协议的通用升级方法一实施例的流程示意 图;图3是本发明一种基于MASS STORAGE协议的通用升级方法一实施例中数据包传 输的流程示意5
图4是本发明一种升级服务器一实施例的结构示意图;图5是本发明一种移动终端一实施例的结构示意图;图6是本发明一种基于MASS STORAGE协议的通用升级系统一实施例的结构示意 图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参照图2,是本发明一种基于MASS STORAGE协议的通用升级方法一实施例的流程 示意图;本发明实施例基于MASS STORAGE协议;USB国际组织定义了大容量存储类(Mass Storage Class)的规范,包括四个独立的子类规范(I)USB Mass Storage Class Control/Bulk/Interrupt(CBI) Transport ;(2)USB Mass Storage Class Bulk-ONLYTransport ;(3)USB Mass Storage Class ATA Command Block ;(4)USB Mass Storage Class UFI Command Specification ;前两个子规范定义了 USB大容量存储设备进行数据/命令/状态传输两种基本方 法。Bulk-ONLY传输规范仅仅使用批量(Bulk)端点传送数据/命令/状态,CBI传输规范 则使用控制(Control)、批量(Bulk)、中断(Interrupt)三种类型端点进行数据/命令/状 态传送。后两个子规范则定义了存储介质的操作命令。ATA命令规范用于硬盘,UFI命令规 范是基于SCSI-2和SFF-8070i命令规范发展二来,其针对USB移动存储类设备。现有的USB主机基本都支持BBulk-ONLY标准,所以现在的大容量存储类设备几 乎都采用或支持Bulk-ONLY标准。Bulk-ONLY传输规范是系统通过默认管道(地址0、端 点0)进行枚举后,仅仅使用批量(Bulk)端点传送数据/命令/状态,其中有三种类型的 数据在USB主机和设备之间传送,S卩CBW、CSW和普通数据。CBW(Command Block Wrapper, 命令块包)是从USB主机发送到设备的命令包,它由31个字节构成,其中包含的命令遵从 接口描述表中的blnterfaceSubClass域所指定的命令集,一般采用SCSI传输命令集。USB 设备从CBW中取出并执行相应命令,向主机传送指定数据及发出反映当前命令执行状态的 CSW (Command Status Wrapper,状态包),它由13个字节构成,主机根据CSW来判断此次操 作是否正确,从而决定是继续传送数据还是进行数据传输的错误校验。本发明实施例中,移 动终端可以是手机,服务端可以是PC机。步骤S101、服务端枚举移动终端;在移动终端连接上服务端后,服务端可以自动检测枚举设备,通过调用一序列的 API函数来达到枚举设备的功能,判断所述移动终端是否是所需要的设备来达到自动控制 下一步流程。步骤S102、服务端发送升级请求到移动终端;服务端和移动终端的数据交互使用标准的SCSI指令,SCSI指令都是以指令描述 块(CDB,Command descriptor block)的格式来表示,在指令描述块,最关键的是一个16字 节的字符串(UCHAR Cdb [16]);就是CDB指令描述块存放的位置;本实施例可以对CDB包格式的进行自定义,定义服务端和移动终端都可识别的一个规则,且此规则和USB协议本身 不冲突,当服务端发送的基于此规则的命令,都是按照一定的格式存放在⑶B数组中。步骤S103、移动终端根据升级请求返回响应消息;步骤S104、服务端接收所述响应消息后,发送MASS STORAGE协议的升级数据包到 移动终端。本发明实施例的接收识别都是按照自定义的规则来识别服务端发送的指令;发送 的流程如图3所示,服务端通过DeviceloControl函数发送给移动终端;例如,如果需要升 级BootLoader,传输BootLoader数据;在发送BootLoader数据之前,服务端发送一个预先 设置的升级请求,所述升级请求通知移动终端服务端发起BootLoader升级,移动终端收到 这个指令根据预设规则的命令格式,获知服务端下一步发送的是BootLoader数据。移动终 端收到BootLoader数据之后,将收到的BootLoader数据分析处理写入存储模块相应位置, 完成BootLoader的下载。在指令传输的过程移动终端相对是被动,由服务端主导;在接收 和发送数据包使用的DeviceloControl函数本身是一个系统API函数,对于数据的收发都 有自己的控制码,而关于SCSI指令的数据流入流出及指令都可按照现有的规范。移动终端收到服务端发送的指令时按照USB的底层传输Bulk-ONLY传输模块来处 理分析数据,Bulk-ONLY传输模块按照规范协议将SCSI-2指令打包成CBW命令包,通过输出 请求,由服务端向移动终端送出,在没有传输失败的情况下,紧接着发出输入请求接收命令 请求所要获取的数据,而后发出输入请求得到CSW状态包,用以判断数据的传输正常与否。移动终端接收升级数据包后,根据预先自定义规则中的指令格式把接收到的数据 写入指定位置,完成一个数据包的传输。本发明实施例通过采用USB通信进行升级,传输效率高;移动终端和服务端的通 信协议采用MASS STORAGE协议,实现了升级的通用性;对终端设备采用自动枚举方式有效 减少人工干预,在一定程度减少出错及人工操作,提高效率。参阅图4,是本发明一种升级服务器一实施例的结构示意图;本发明实施例提供的升级服务器包括发送模块21,用于向枚举成功的移动终端发送升级请求;接收模块22,用于接收所述移动终端根据所述升级请求返回的响应消息;升级模块23,用于发送MASS STORAGE协议的升级数据包到移动终端。进一步,所述发送模块21具体用于通过DeviceloControl函数向枚举成功的移 动终端发送升级请求。进一步,所述发送模块21具体用于向枚举成功的移动终端发送由相应SCSI-2指 令打包成CBW命令包作为升级请求进一步,所述升级服务器还包括连接模块24,用于连接移动终端;检测模块25,用于调用API函数进行检测枚举;判断模块26,用于当所述移动终端为符合预置规则设备时,判断所述移动终端枚 举成功。在移动终端连接上连接模块24后,服务端可以自动检测枚举设备,检测模块25通 过调用一序列的API函数来达到枚举设备的功能,判断模块26判断所述移动终端是否是所需要的设备来达到自动控制下一步流程。服务端和移动终端的数据交互使用标准的SCSI指令,SCSI指令都是以指令描述 块(⑶B,Command descriptor block)的格式来表示,在指令描述块,最关键的是一个16字 节的字符串(UCHAR Cdb [16]);就是CDB指令描述块存放的位置;本实施例可以对CDB包格 式的进行自定义,定义服务端和移动终端都可识别的一个规则,且此规则和USB协议本身 不冲突,当发送模块21和升级模块23发送的基于此规则的命令,都是按照一定的格式存放 在⑶B数组中。参阅图5,是本发明一种移动终端一实施例的结构示意图;本发明实施例提供的移动终端包括接收模块31,用于枚举成功后接收服务端发送的升级请求;响应模块32,用于根据所述升级请求返回响应消息;升级模块33,用于接收服务端根据所述响应消息,发送的基于MASS STORAGE协议 的升级数据包。进一步,所述移动终端还包括写入模块34和存储模块35 写入模块34,用于根据升级请求将所述升级数据包写入存储模块35相应位置;所述存储模块35用于记录所述升级数据包。进一步,所述接收模块31还用于接收升级请求后,按照USB的底层传输Bulk-ONLY来处理分析所述升级请求。服务端和移动终端的数据交互使用标准的SCSI指令,SCSI指令都是以指令描述 块(⑶B,Command descriptor block)的格式来表示,在指令描述块,最关键的是一个16字 节的字符串(UCHAR Cdb [16]);就是CDB指令描述块存放的位置;本实施例可以对CDB包格 式的进行自定义,定义服务端和移动终端都可识别的一个规则,且此规则和USB协议本身 不冲突,当服务端发送的基于此规则的命令,都是按照一定的格式存放在⑶B数组中。本发明实施例的接收识别都是按照自定义的规则来识别服务端发送的指令;服务 端通过DeviceloControl函数发送给接收模块31 ;例如,如果需要升级BootLoader,传输 BootLoader数据;在发送BootLoader数据之前,服务端发送一个预先设置的升级请求到接 收模块31,所述升级请求通知移动终端服务端发起BootLoader升级,接收模块31收到这个 指令根据预设规则的命令格式,获知服务端下一步发送的是BootLoader数据。升级模块33 收到BootLoader数据之后,将收到的BootLoader数据分析处理写入存储模块相应位置,完 成BootLoader的下载。在指令传输的过程移动终端相对是被动,由服务端主导;在接收和 发送数据包使用的DeviceloControl函数本身是一个系统API函数,对于数据的收发都有 自己的控制码,而关于SCSI指令的数据流入流出及指令都可按照现有的规范。接收模块31收到服务端发送的指令时,按照USB的底层传输Bulk-ONLY传输模块 来处理分析数据,Bulk-ONLY传输模块按照规范协议将SCSI-2指令打包成CBW命令包,通 过输出请求,由服务端向移动终端送出,在没有传输失败的情况下,紧接着发出输入请求接 收命令请求所要获取的数据,而后发出输入请求得到CSW状态包,用以判断数据的传输正 常与否。升级模块33接收升级数据包后,根据预先自定义规则中的指令格式把接收到的 数据写入指定位置,完成一个数据包的传输。
8
参阅图6,是本发明一种基于MASS STORAGE协议的通用升级系统一实施例的结构 示意图。本发明实施例提供的系统包括服务端41,用于向枚举成功的移动终端42发送升级请求;接收所述移动终端42 根据所述升级请求返回的响应消息;发送MASS STORAGE协议的升级数据包到移动终端42 ;移动终端42,用于枚举成功后接收服务端41发送的升级请求;根据所述升级请求 返回响应消息;接收服务端41发送的基于MASS STORAGE协议的升级数据包。本发明实施例是图2对应实施例的系统,本发明实施例中服务端41可以是图3对 应实施例提供的升级服务器,移动终端42可以是图4对应实施例提供的移动终端。本发明实施例通过采用USB通信进行升级,传输效率高;移动终端和服务端的通 信协议采用MASS STORAGE协议,实现了升级的通用性;对终端设备采用自动枚举方式有效 减少人工干预,在一定程度减少出错及人工操作,提高效率。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用 本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关 的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
一种基于MASS STORAGE协议的通用升级方法,其特征在于,包括服务端向枚举成功的移动终端发送升级请求;所述移动终端根据所述升级请求返回响应消息;服务端接收所述响应消息后,发送MASS STORAGE协议的升级数据包到移动终端。
2.根据权利要求1所述的方法,其特征在于,所述服务端发送MASSSTORAGE协议的升 级数据包到移动终端后包括移动终端根据升级请求将所述升级数据包写入自身存储模块的相应位置。
3.根据权利要求1所述的方法,其特征在于,所述服务端向枚举成功的移动终端发送 升级请求具体为服务端通过DeviceloControl函数向枚举成功的移动终端发送升级请求。
4.根据权利要求1所述的方法,其特征在于,所述服务端向枚举成功的移动终端发送 升级请求后包括移动终端接收升级请求后,按照USB的底层传输Bulk-ONLY来处理分析所述升级请求。
5.根据权利要求1或3所述的方法,其特征在于,所述服务端向枚举成功的移动终端发 送升级请求具体为所述服务端向枚举成功的移动终端发送由相应SCSI-2指令打包成CBW命令包作为升 级请求。
6.根据权利要求1-4任一所述的方法,其特征在于,所述服务端向枚举成功的移动终 端发送升级请求前包括移动终端连接服务端;服务端调用API函数进行检测枚举;当所述移动终端为符合预置规则设备时,判断所述移动终端枚举成功。
7.一种升级服务器,其特征在于,包括发送模块,用于向枚举成功的移动终端发送升级请求;接收模块,用于接收所述移动终端根据所述升级请求返回的响应消息;升级模块,用于发送MASS STORAGE协议的升级数据包到移动终端。
8.根据权利要求7所述的升级服务器,其特征在于,所述发送模块具体用于通过 DeviceIoControl函数向枚举成功的移动终端发送升级请求。
9.根据权利要求8所述的升级服务器,其特征在于,所述发送模块具体用于向枚举成 功的移动终端发送由相应SCSI-2指令打包成CBW命令包作为升级请求。
10.根据权利要求7所述的升级服务器,其特征在于,所述升级服务器还包括连接模块,用于连接移动终端;检测模块,用于调用API函数进行检测枚举;判断模块,用于当所述移动终端为符合预置规则设备时,判断所述移动终端枚举成功。
11.一种移动终端,其特征在于,包括接收模块,用于枚举成功后接收服务端发送的升级请求;响应模块,用于根据所述升级请求返回响应消息;升级模块,用于接收服务端根据所述响应消息,发送的基于MASS STORAGE协议的升级 数据包。
12.根据权利要求11所述的移动终端,其特征在于,所述移动终端还包括写入模块和 存储模块所述写入模块,用于根据升级请求将升级数据包写入存储模块相应位置; 所述存储模块,用于记录所述升级数据包。
13.根据权利要求11所述的移动终端,其特征在于,所述接收模块还用于 接收升级请求后,按照USB的底层传输Bulk-ONLY来处理分析所述升级请求。
14.一种基于MASS STORAGE协议的通用升级系统,其特征在于,包括服务端,用于向枚举成功的移动终端发送升级请求;接收所述移动终端根据所述升级 请求返回的响应消息;发送MASS STORAGE协议的升级数据包到移动终端;移动终端,用于枚举成功后接收服务端发送的升级请求;根据所述升级请求返回响应 消息;接收服务端发送的基于MASS STORAGE协议的升级数据包。
15.根据权利要求14所述的系统,其特征在于,所述服务端为权利要求7-10任一所述 的升级服务器。
16.根据权利要求14所述的系统,其特征在于,所述移动终端为权利要求11-13任一所 述的移动终端。
全文摘要
本发明揭示了一种基于MASS STORAGE协议的通用升级方法,包括服务端向枚举成功的移动终端发送升级请求;所述移动终端根据所述升级请求返回响应消息;服务端接收所述响应消息后,发送MASS STORAGE协议的升级数据包到移动终端。本发明还提供了对应的装置和系统。本发明通过采用USB通信进行升级,传输效率高;移动终端和服务端的通信协议采用MASS STORAGE协议,实现了升级的通用性。
文档编号H04L29/06GK101917395SQ20101020912
公开日2010年12月15日 申请日期2010年6月24日 优先权日2010年6月24日
发明者万燕斌 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1