admin管理员组

文章数量:1532347

2024年5月24日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.0

(22)申请日 2014.09.27

(71)申请人 昆明钢铁集团有限责任公司

地址 650300 云南省昆明市安宁市郎家庄昆钢科技创新部

(72)发明人 李杰 侯文彪

(74)专利代理机构 昆明知道专利事务所(特殊普通合伙企业)

代理人 姜开侠

(51)

G06F9/445

H04L29/08

(10)申请公布号 CN 104317607 A

(43)申请公布日 2015.01.28

权利要求说明书 说明书 幅图

(54)发明名称

一种企业In-house IOS APP自动升

级系统与方法

(57)摘要

本发明公开了一种企业In-house

IOS APP自动升级系统与方法,所述的自

动升级系统包括升级注册模块、网络检测

模块、下载校验模块、状态检测模块和应

用安装模块。所述方法包括以下步骤:检

测与发布端的连通性,将应用程序的本地

版本与远程版本对比,若发现新版本,则

从发布端下载新版本,并进行数据包大小

和md5校验,数据无误之后,当应用程序

未运行时,安装新版本,安装完成后,将

新的升级信息更新到配置文本中。本发明

以Cydia系统为发布端,实现IOSAPP的

自动升级,无需用户参与,保证升级过程

及时顺利完成的同时,避免了描述性文件

过期和受制于苹果服务器的问题,有效提

高了新应用程序的使用效率。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种企业In-house IOS APP自动升级系统,其特征在于包括升级注册模块、网络

检测模块、下载校验模块、状态检测模块和应用安装模块,其中:

升级注册模块:用于安装APP时,在设备端写入该软件的升级参数信息;

网络检测模块:用于检测设备端与发布端的网络是否连通;

下载校验模块:用于从发布端中下载APP,并进行数据正确性的校验;

状态检测模块:用于检测需要升级的软件是否处于运行状态;

应用安装模块:用于卸载旧版本的APP,安装新版本的APP。

2.根据权利要求1所述的企业In-house IOS APP自动升级系统,其特征在于所述的

升级注册模块中写入升级参数信息是通过运行Shell脚本生成的,内容包括App包

唯一标识名和当前版本号。

3.根据权利要求1或2所述的企业In-house IOS APP自动升级系统,其特征在于所

述的网络检测模块的触发事件为特定时间事件或网络状态变化事件。

4.根据权利要求3所述的企业In-house IOS APP自动升级系统,其特征在于所述的

下载校验模块为多线程并行下载。

5.根据权利要求4所述的企业In-house IOS APP自动升级系统,其特征在于所述的

状态检测模块与应用安装模块为不同的进程,两者通过IPC进行信息交互。

6.一种权利要求1~5任一所述的企业In-house IOS APP自动升级系统的使用方法,

其特征在于包括以下步骤:

A、设备端从发布端下载APP并进行安装,安装结束时,升级注册模块通过Shell

脚本将程序升级信息写入一个配置文本中;

B、在升级事件被触发之后,网络检测模块实时地进行与发布端的网络连通性检测,

并将配置文本中的版本信息和发布端的当前版本进行比对;

C、若发布端上的APP为新版本,下载校验模块则进行数据下载,下载完毕进行数

据包大小和md5校验;

D、状态检测模块检测被升级的APP是否处于运行状态,若未运行,则调用应用

安装模块进行安装,若运行,则将升级包加入待安装队列;

E、应用安装模块在进行新版本的APP安装之时,拒绝用户运行APP的请求,在

安装完成之后,通过升级注册模块将新的升级信息更新到配置文本中。

说 明 书

技术领域

本发明属于计算机及网络技术领域,进一步属于移动互联网技术领域,具体涉及一

种企业In-house IOS APP自动升级系统与方法。

背景技术

苹果移动设备的现有用户主要包括个人用户和集团用户,对于个人用户而言,大多

是通过苹果公司的在线软件商店购买下载并安装APP,对于集团用户而言,可以

购买苹果公司的企业开发账号,在Xcode集成开发环境中开发出APP,然后自建

发布服务器,进行企业的In-house APP发布,使得开发IOS APP不用发布到在线

软件商店中,就能让特定的用户去下载安装或升级。在这两种模式下,当APP需

要升级时,首先在程序中自行检测可否升级,然后提示用户是否升级,根据用户的

选择再进一步的下载升级,该升级过程对于用户是可见的,也给予了用户选择的自

由,然而,随之带来的负面问题是无法确保应该升级的用户完成了升级,即无法保

证用户能够获得新APP带来的功能或安全性,人为的造成业务开展或沟通交流的

障碍,更有可能出现APP的描述文件过期,导致APP无法正常使用,此时用户则

需要通过发布服务器重新安装APP,升级情况变得更为复杂。Cydia是一种基于

IOS的破解软件系统,类似苹果在线软件商店iTunes Store 的软件平台的客户端,

一般是在越狱的过程中被装入到系统中,利用Cydia系统发布企业In-house APP具

有三个优势,其一是能够绕过苹果公司服务器对发布APP的相关认证,其二是不

会存在APP描述文件过期的情况,其三是发布服务器由企业自行控制,不受苹果

公司的限制。因此开发一种基于Cydia的企业In-house IOS APP自动升级系统,解

决上述APP手动升级时带来负面问题是非常必要的。

发明内容

本发明的第一目的在于提供一种企业In-house IOS APP自动升级系统;第二目的在

于提供所述自动升级系统的使用方法。

本发明的第一目的是这样实现的,包括升级注册模块、网络检测模块、下载校验模

块、状态检测模块和应用安装模块,其中:

升级注册模块:用于安装APP时,在设备端写入该软件的升级参数信息;

网络检测模块:用于检测设备端与发布端的网络是否连通;

下载校验模块:用于从分布服务端中下载APP,并进行数据正确性的校验;

状态检测模块:用于检测需要升级的软件是否处于运行状态;

应用安装模块:用于卸载旧版本的APP,安装新版本的APP。

本发明的第二目的是这样实现的,包括以下步骤:

A、设备端从发布端下载APP并进行安装,安装结束时,升级注册模块通过Shell

脚本将程序升级信息写入一个配置文本中;

B、在升级事件被触发之后,网络检测模块实时地进行与发布端的网络连通性检测,

并将配置文本中的版本信息和发布端的当前版本进行比对;

C、若发布端上的APP为新版本,下载校验模块则进行数据下载,下载完毕进行数

据包大小和md5校验;

D、状态检测模块检测被升级的APP是否处于运行状态,若未运行,则调用应用

安装模块进行安装,若运行,则将升级包加入待安装队列;

E、应用安装模块在进行新版本的APP安装之时,拒绝用户运行APP的请求,在

安装完成之后,通过升级注册模块将新的升级信息更新配置文本中。

本发明不仅解决了传统IOS APP升级模式中,受制于苹果公司服务器的问题,更

克服了应用升级不及时和描述文件过期的问题,提供了一种基于Cydia系统的企业

In-house IOS软件自动升级系统与方法。本发明以Cydia系统为基础,建立企业的

APP发布服务器,在网络连通的条件下,程序会自动检测是否有最新版本,检测

到新版本时会自动后台下载新版本,下载完成后,若程序未在运行则后台静默安装,

若用户正在使用,则等用户退出程序后进行升级安装,用户无需参与整个升级过程,

一切对用户而言是透明的,自动升级系统的多种检测机制确保了应用升级的完成,

确保用户的软件能够高效及时地被使用。

附图说明

图1为本发明企业In-house IOS APP自动升级系统示意图;

图2为本发明企业In-house IOS APP自动升级系统流程示意图。

具体实施方式

下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于

本发明教导所作的任何变换或替换,均属于本发明的保护范围。

本发明所述的企业In-house IOS APP自动升级系统,包括升级注册模块、网络检测

模块、下载校验模块、状态检测模块和应用安装模块,其中:

升级注册模块:用于安装APP时,在设备端写入该软件的升级参数信息;

网络检测模块:用于检测设备端与发布端的网络是否连通;

下载校验模块:用于从发布端中下载APP,并进行数据正确性的校验;

状态检测模块:用于检测需要升级的软件是否处于运行状态;

应用安装模块:用于卸载旧版本的APP,安装新版本的APP。

升级注册模块中所述的写入升级参数信息是通过运行Shell脚本生成的,内容包括

App包唯一标识名和当前版本号。

网络检测模块的触发事件为特定时间事件或网络状态变化事件。

下载校验模块为多线程并行下载。

状态检测模块与应用安装模块为不同的进程,两者通过IPC进行信息交互。

本发明所述的高炉参数数据管理系统的使用方法,包括以下步骤:

A、设备端从发布端下载APP并进行安装,安装结束时,升级注册模块通过Shell

脚本将程序升级信息写入一个配置文本中;

B、在升级事件被触发之后,网络检测模块实时地进行与发布端的网络连通性检测,

并将配置文本中的版本信息和发布端的当前版本进行比对;

C、若发布端上的APP为新版本,下载校验模块则进行数据下载,下载完毕进行数

据包大小和md5校验;

D、状态检测模块检测被升级的APP是否处于运行状态,若未运行,则调用应用

安装模块进行安装,若运行,则将升级包加入待安装队列;

E、应用安装模块在进行新版本的APP安装之时,拒绝用户运行APP的请求,在

安装完成之后,通过升级注册模块将新的升级信息更新到配置文本中。

本发明所述的企业In-house IOS APP自动升级系统由升级注册模块1、网络检测模

块2、下载校验模块3、状态检测模块4和应用安装模块5组成,一次升级过程为:

升级注册模块1是在程序被执行安装之后,在设备端上会注册相关的升级信息,具

体就是使用Shell脚本将应用程序的唯一标示包和版本号等信息写入到配置文本中,

当升级事件被触发之后,网络检测模块2自动检测与发布端的连通性,将应用程序

发不断的当前版本与设备端的版本进行对比,若当前版本为新版本,则利用下载校

验模块3从服务端下载新版本,下载结束后进行数据包大小和md5校验,数据无

误之后,状态检测模块4会检测该应用程序的状态,若为未运行状态,应用安装模

块5则卸载旧版本,安装新版本,安装完成后,升级注册模块将新的升级信息更新

到配置文本中。

发布端上运行的是Cydia store服务端程序,将需要发布的应用程序上传至

Cydia store数据库中,配置好相关信息就可以发布出来供用户下载,首次下载应用

程序时,需要从Cydia 客户端中确认下载并安装,首次安装之后就可以进行自动升

级。自动升级系统中的网络检测模块的触发事件可以多样的,比如每天的指定时刻

一到就触发网络检测模块的运行,或者当设备的网络状态有变化,就会发送系统广

播,当系统接受到该广播时,也可以触发网络模块的运行,在自动升级过程中,若

网络检测模块检测到网络不连通,则可以直接停止检测,等到下一次事件触发该模

块再进行检测,也可以指定停止一个时间段,再自动进行网络状态检测。下载校验

模块下载完应用程序数据包之后进行正确性和完整性校验之后,若发现数据有误,

则删除该包,并调用网络检测模块进行网络状态检测,网络连通则直接在进行数据

包的重新下载。状态检测模块若检测到该应用程序正在运行,则将升级包加入待安

装队列,一旦收到用户退出的广播之后,立即调用应用安装模块进行安装,在安装

的过程中,强行禁止用户运行该应用程序。由于应用程序的安装需要特定权限才能

完成,因此应用安装模块和下载校验模块可分别为不同的系统进程,两者之间通过

IPC进行信息交互,下载并校验升级包之后,待到满足升级状态后,通知安装服务

进行升级。

本发明所述的企业In-house IOS APP自动升级系统的具体运行步骤为:

1、首次安装应用程序时,使用Cydia 客户端从Cydia store的应用程序列表中选择

下载并安装,安装完成之后,升级注册模块在设备端中的配置文本写入数据包标识

号和版本号等升级信息;

2、当预备升级事件被触发时,运行网络检测模块对网络连通性进行检测,若能够

和发布服务端连通,则将配置文本中的版本号与发布端的当前版本进行比较,若不

能和发布服务端连通,则重复步骤2中等待预备升级事件被触发;

3、步骤2中版本比较的结果,若发布端的版本高于设备端的版本,运行下载校验

模块,从发布端下载应用程序的版本并进行数据包大小和md5校验,若发布端的

版本与设备端的版本相同,则此次升级过程结束;

4、步骤3中数据校验的结果,若结果无误,则运行状态检测模块,检测应用程序

的状态,若结果有误,则返回步骤2,运行网络检测模块;

5、步骤4中应用程序的状态,若为运行状态,则将升级包加入待安装队列,一旦

收到程序结束的广播后,则调用应用安装模块安装升级包,若不为运行状态,则直

接调用应用安装模块安装升级包;

6、步骤5中安装升级包时,禁止用户运行该应用程序,安装结束后,运行升级注

册模块在设备端中的配置文本中更新升级信息,此次升级过程结束;

7、当发布端发布了新版本的应用程序,则重复步骤2,进行新一轮的升级过程。

本发明的特点:

1、使用Cydia系统构建发布端,能够绕过苹果公司服务器对发布APP的相关认证。

2、不会存在APP描述文件过期的情况。

3、升级过程在后台完成,无需用户参与。

4、发布服务器由企业自行控制,不受苹果公司的限制。

5、多个循环过程,确保新的应用程序版本能得到及时的安装。

本文标签: 升级模块检测安装进行