【技术实现步骤摘要】

本专利技术涉及移动通信

,尤其涉及一种通过文件服务器实现OTA升级的方法。

技术介绍

随着智能手机、平板电脑等设备的流行,越来越多的设备需要系统软件升级功能,尤其是网络升级功能的需求更为突出。在Android原生的系统中,有一套标准的本地升级功能,通过在本地SD卡或FLASH存储器中,放置一个update.zip,即可完成系统升级功能。而OTA(Over-the-AirTechnology,空中下载技术)则是一种通过无线网络进行数据下载的功能,现已被广泛应用于手机、平板电脑等设备的网络升级中。不同厂家的OTA升级方式的协议不一样,例如有些简单的做法就是直接在设备中指定一个升级文件的网络路径,然后下载到本地进行升级;而一些复杂的OTA升级协议则包括用户登录、机型确认、文件下载等一系列操作,这对搭建OTA升级服务器提出了较高的要求。然而现有的技术中存在以下缺点:1,直接只使用网络文件的方式过于简单,由于只有一个要升级的目标文件,信息量少,从而无法进行下载文件的校验、版本管理、发布说明、特定条件机器的升级等方面的操作;2、使用较复杂的专门的OTA协议的方式,需要单独部署OTA服务器,工作量和难度大且费用高,很多厂商无法达到这个标准。

技术实现思路

本专利技术实施例所要解决的技术问题在于,提供一种实现OTA升级的方法。可利用简单的操作实现通过普通的文件服务器实现OTA升级。为了解决上述技术问题,本专利技术实施例提供了一种通过文件服务器实现OTA升级的方法,包括:S1,当用户选择在线更新客户端软件时,客户端生成一个网络文件路径,并根据所述网络文件路径从文件服务器下载一个配置文件,其中,所述配置文件预先存放在所述文件服务器的特定目录中;S2,解析所述配置文件,并根据所述配置文件中的信息查找最匹配的升级包;S3,如果找到匹配的升级包,则提示用户发现可用的升级包,由用户确认是否需要升级;S4,若用户确认升级,则根据所述配置文件中提供的升级包下载路径下载所述升级包至所述客户端;S5,升级包下载完成后,在所述客户端进行软件升级。进一步的,所述步骤S1中,客户端根据所配置的服务器的路径以及自身的机型号和软件的版本号生成所述网络文件路径。进一步的,所述文件服务器至少包括http或ftp文件服务器。进一步的,所述配置文件描述一个或多个升级包的包括下载路径、版本号、校验码、显示给用户看的支持多国语言的发布说明、以及目标机器的机型名、厂商名、序列号段、MAC地址段、IMEI号段的信息。进一步的,所述配置文件的命名格式为机型名_版本号。进一步的,所述配置文件的格式为xml。进一步的,所述步骤S2中,仅当所述配置文件中描述的版本号比客户端软件当前的版本号高时查找最匹配的升级包的信息。具体的,所述步骤S2包括步骤:S21,将客户端中记录升级包下载路径、校验码信息、发布说明的项清空,设置匹配数量N=-1;S22,从所述配置文件中获取下一个升级包的描述信息;S23,判断是否成功获取所述描述信息,如果是,进入步骤S24,否则,进入步骤S29;S24,设置匹配计数器count=0;S25,依次检查所述描述信息中的各机器识别信息描述项,包括机型名、厂商名、序列号范围等,是否与客户端相应项匹配,每匹配一项设置count=count+1;S26,判断是否有不匹配项,如果有,则返回步骤S22,否则进入步骤S27;S27,判断count是否大于N,如果是,进入步骤S28,否则返回步骤S22;S28,根据所述升级包的描述信息更新客户端所述记录升级包下载路径、校验码信息、发布说明的项,并设置N=count,然后返回步骤S22;S29,处理结束。进一步的,所述步骤S3中,在找到合适的升级包后,根据配置文件中的发布说明显示确认升级的对话框,以提示用户发现可用的升级包,并由用户确认是否需要升级。进一步的,所述步骤S5中,客户端在成功下载升级包后,生成校验码并与所述配置文件中描述的校验码进行比对,仅在校验码比对正确时才开始进行软件升级。实施本专利技术实施例,具有如下有益效果:1,使用普通的网络文件服务器实现OTA升级服务器,无需专门开发专用的OTA服务器;2,由于可以通过文件服务器实现OTA升级,而网络中又有很多免费的文件服务器,因此可以减少费用;3,实现过程简单,开发难度低;4,可配置程度高,灵活性强,可对下载的软件进行校验、版本管理、发布说明、特定条件机器的升级等方面的操作;5,适用于多种移动终端,例如手机、平板电脑等。附图说明图1本专利技术一实施例的流程图;图2是本专利技术另一实施例的流程图;图3是本专利技术一实施例中查找最匹配升级包的流程图;图4是本专利技术一实施例中验证校验码的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述。本专利技术所涉及的OTA升级方法分为服务器端和客户端。其中所述服务器为一个普通的网络文件服务器,例如,http或ftp文件服务器。在所述服务器的特定目录中存放着一个命名格式为“机型名_版本号.xml”的配置文件CF。所述配置文件CF描述了一个或多个升级包UF的下载路径P、版本号V、校验码M、显示给用户看的支持多国语言的发布说明R,以及目标机器的机型名、厂商名、序列号段、MAC地址段、IMEI号段等机器识别信息。可描述多个升级包UF的目的是为了实现不同条件的机器升级不同软件的功能。当然,除了以上信息,还可以根据实际需求增加其他相关信息。在本专利技术的一个实施例中,所述配置文件CF的结构为(可包含多个描述):图1所示为本专利技术一实施例的流程图。如图1所示的实施例包括步骤:S1,当用户选择在线更新客户端软件时,客户端生成一个网络文件路径,并根据所述网络文件路径从文件服务器下载一个配置文件CF,其中,所述配置文件CF预先存放在所述文件服务器的特定目录中;S2,解析所述配置文件CF,并根据所述配置文件CF中的信息查找最匹配的升级包UF;S3,如果找到匹配的升级包UF,则提示用户发现可用的升级包UF,由用户确认是否需要升级;S4,若用户确认升级,则根据所述配置文件CF中提供的升级包下载路径P下载所述升级包UF至所述客户端;本文档来自技高网...

java 搭建ota服务器_通过文件服务器实现OTA升级的方法技术相关推荐

  1. java搭建安卓服务器_无框架完整搭建安卓app及其服务端(一)

    技术背景: 我的一个项目做的的是图片处理,用 python 实现图片处理的核心功能后,想部署到安卓app中,但是对于一个对安卓和服务器都一知半解的小白来说要现学的东西太多了. 而实际上,我们的项目要求 ...

  2. java搭建聊天服务器_使用 ServerSocket 建立聊天服务器-2

    1. 从serverListener中可以看出,每一个客户端创建新的请求之后,都会把它分配给一个独立的chatsocket ,但是每一个ChatSocket都是相互独立的,他们之间并不能沟通,所以要新 ...

  3. java 搭建http服务器_搭建简单的HTTP服务器

    这是在<深入剖析Tomcat>一书中的一个小例子,通过这个例子让我基本了解了HTTP服务器的基本工作原理,特此分享给大家. package com.sun.test; import jav ...

  4. linux搭建mcpe服务器_技术|如何搭建“我的世界”服务器

    我们将通过一个一步步的.新手友好的教程来向你展示如何搭建一个"我的世界(Minecraft)"服务器.这将会是一个长期的多人游戏服务器,你可以与来自世界各地的朋友们一起玩,而不用在 ...

  5. mysql 搭建日志服务器_一、架构01-搭建日志服务器Rsyslog

    搭建日志服务器 1.环境配置 环境: node01  192.168.32.132  rsyslog服务器 node02  192.168.32.128  rsyslog客户端 2.node01.no ...

  6. Windows XP 搭建PPPoE服务器_计算机软件及应用_IT/计算机_专业资料

    Windows XP 搭建 PPPoE 服务器&使用为了测试路由器中的 pppoe 客户端(linux 环境),特意在 XP 下建立一个 pppoe 服务器. 现将详细步骤写出来:一.获取软件 ...

  7. 如何搭建邮箱服务器?mail系统架设的两种方法

    邮件mail通信是常用的办公场景,对于技术和网管等人员,往往需要搭建自己的邮箱服务器.那么,如何架设邮箱系统呢?通常有两种方案,一种是在在本地主机部署,另一种是在云端如云服务器上部署应用.根据主机IP ...

  8. 我的世界java版GTA服务器_我的世界Java版游戏服务器搭建

    本文简要介绍在Linux云服务器上部署我的世界Java版服务端的方法 一.选购云服务器 建议使用CentOS7.x或8.x系统. 二.远程登录服务器 可以使用云服务商提供的网页登录的方式,也可以SSH ...

  9. java微信中控服务器_使用ThinkJs搭建微信中控服务的实现方法

    本人前端渣渣一枚,这篇文章是第一次写,如果有硬核bug,请大佬们轻喷.指出... 另外,本文不涉及任何接口安全.参数校验之类的东西,默认对调用方无脑级的信任:joy: 目前自用的接口包括但不限于以下这 ...

  10. java 搭建 web服务器 socket实现

    [写在前面] 云计算的第n个java作业,开始一直不懂为什么老师一直让我们写java web的小demo,不应该是hadoop啥的直接上框架嘛.后来慢慢了解到,其实java web 的一些内容确实是云 ...

最新文章

  1. 利用TLD2131组成LED矩阵显示实验电路板
  2. 推荐JQuery学习简介
  3. WordPress自动升级插件时需要填写FTP信息的解决
  4. bitcoin-memorypool源码分析
  5. mybatis文件中SQL总结
  6. UnityGI1:光照烘培
  7. 微信提示点击右上角浏览器中打开
  8. win7怎么把计算机图标下的箭头掉,Win7桌面图标有小箭头怎么去掉?Win7去除桌面图标小箭头的方法...
  9. ECCV2018论文RBNet:Receptive Field Block Net for Accurate and FastObject Detection
  10. 该网页无法正常运作 目前无法处理此请求。 HTTP ERROR 500
  11. Quasi-Newton拟牛顿法(共轭方向法)
  12. 深扒程序员外包,为啥我不建议你去外包公司?
  13. 提交 Merge Request 申请进行code review
  14. PHP扩展undefined symbol,解决 undefined symbol: php_pdo_register_driver in Unknown on line 0
  15. 【论文】SCI期刊:工程技术类
  16. 第一章 winds 安装区块链私链 geth并进行节点同步
  17. Idea 遇到:com.sun.istack.internal不存在和程序包com.sun.image.codec.jpeg不存在
  18. C028: Unable to Connect to the Siebel Gateway Name Server
  19. 设置了店铺的旺旺分组,但是对应的旺旺分组灯不亮
  20. hx711基准电压_hx711基本原理讲解

热门文章

  1. 暮光之城破晓 - 看看会发生什么
  2. 带托管代码的infopath2007表单创建, 发布,应用(MOSS开发)
  3. AX9000利用docker实现迅雷远程下载2
  4. python做小游戏之一小迷宫游戏
  5. 拉格朗日对偶性(Lagrange duality)
  6. React.memo Component definition is missing display name
  7. 迪卡侬中国与阿里云达成合作;咖世家与恒天然在中国推出益生菌咖啡;默克高性能材料业务更名为电子科技 | 美通企业日报...
  8. Redis开启远程访问
  9. 原始数据哪里找?这些网站要用好!200个国内外数据网站大全
  10. 达梦工具导出慢sqle的xcel表格方法