移动应用容器及其管理方法

文档序号:6628994阅读:212来源:国知局
移动应用容器及其管理方法
【专利摘要】本发明提供了一种移动应用容器及其管理方法。所述移动应用容器可以包括:应用安装模块,用于安装一个或多个应用;外观引擎,用于读取已安装应用的外观文件以设置应用的外观;数据引擎,用于读取已安装应用的数据文件;以及,代码引擎,用于读取已安装应用的执行代码,以响应于用户触发事件执行业务处理。本发明实施例可以降低应用开发人员的开发工作量。
【专利说明】移动应用容器及其管理方法

【技术领域】
[0001]本发明涉及移动通信领域,更具体地涉及一种移动应用容器(mobileapplicat1n container)及其管理方法。

【背景技术】
[0002]随着手机、平板电脑等移动终端的应用越来越广泛,企业的业务会越来越多地移动化。企业可能会发布多种移动应用,这些应用具有类似的软件架构及通讯接口,互相之间可能会有数据交换,且应用可能会频繁更新。在开发这些应用时,这种类似的软件架构和通信接口的重复开发工作造成了资源的浪费。
[0003]目前,很多应用采用Html5做为应用外观跨平台实现的基本技术。由于Html5具有平台无关性,且可以通过javascript技术实现业务处理逻辑,所以可以实现一次开发,多处使用的目标。但是,这一技术目前与移动平台原生应用相比在性能、易用性、用户体验以及安全性上有较大差距。
[0004]期望提供一种可以在多移动设备平台上进行应用开发、使用的系统。业务开发者可以不对某个平台的具体特性有过多了解即可进行开发。


【发明内容】

[0005]为了解决上述现有技术的至少一个缺陷,本发明提出了一种移动应用容器及其管理方法,其提供了一些框架性机制,使得减少了应用的开发和维护所需的工作量。
[0006]根据本发明的一方面,提供了一种移动应用容器。所述移动应用容器可以包括:应用安装模块,用于安装一个或多个应用;外观引擎,用于读取已安装应用的外观文件以设置应用的外观;数据引擎,用于读取已安装应用的数据文件;以及,代码引擎,用于读取已安装应用的执行代码,以响应于用户触发事件执行业务处理。
[0007]在本发明的一些实施例中,所述移动应用容器实现在应用层上。其本身可以视为一个移动平台原生应用。
[0008]在本发明的一些实施例中,所述移动应用容器还包括:身份认证模块,用于根据所述移动应用容器关联的客户端标识向服务器执行身份认证。
[0009]在本发明的一些实施例中,所述移动应用容器还包括:安全通信模块。所述通信安全模块可以被所述移动应用容器中所有的已安装应用共享。所述通信安全模块可以用于所述移动通信容器与服务器之间的通信。优选地,所述通信安全模块还可以用于所述移动应用容器内的各个应用之间的通信。
[0010]在本发明的一些实施例中,所述移动应用容器还包括:应用卸载模块,用于卸载一个或多个应用。
[0011]在本发明的一些实施例中,所述应用安装模块进一步配置为:下载用于定义应用外观的布局文件包、用于定义业务处理的代码文件包以及包含业务数据的数据文件包;以及,处理下载的文件包。
[0012]根据本发明的另一方面,提供了一种移动应用容器管理方法。所述方法可以包括:下载并在移动设备上安装移动应用容器;根据所述移动应用容器关联的客户端标识向服务器执行身份认证;响应于所述身份认证,从服务器获取可安装应用列表;以及,在所述移动应用容器中安装所述可安装应用列表中的一个或多个应用。
[0013]根据本发明的一些方面,所述下载包括从服务器下载移动应用容器。
[0014]根据本发明的一些方面,所述安装应用的步骤可以包括:下载用于定义应用外观的布局文件包、用于定义业务处理的代码文件包以及用于包含业务数据的数据文件包;以及,处理下载的文件包。优选地,所述处理包括下述中的一项或多项:格式检查、签名检查、加解密处理、以及散列值比对。
[0015]根据本发明的一些方法,所述方法还包括:在所述移动应用容器中卸载一个或多个应用。

【专利附图】

【附图说明】
[0016]通过下面结合【专利附图】

【附图说明】本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
[0017]图1示意性地示出了可以在其中实现本发明实施例的通信系统的示意图;
[0018]图2示意性地示出了根据本发明实施例的移动应用容器的框图;
[0019]图3示意性地示出了根据本发明实施例的移动应用容器管理系统的示意图;
[0020]图4示意性地示出了适用于在本发明实施例的移动应用容器中安装的应用安装文件的形成过程;
[0021]图5示意性地示出了根据本发明实施例的移动应用容器管理方法的流程图;
[0022]图6示出了根据本发明实施例的安装选定应用的过程的流程图;以及
[0023]图7示出了根据本发明实施例的运行应用的过程的流程图。
[0024]在本发明的所有附图中,相同或相似的结构均以相同或相似的附图标记进行标识。

【具体实施方式】
[0025]下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。
[0026]图1示意性地示出了可以在其中实现本发明实施例的通信系统100的示意图。如图1所示,系统100包括服务器110和众多移动终端设备120-1,i = 1,2,3...。这些移动终端设备可以通过附图标记120来统一指不。
[0027]服务器100可以是某个企业用户的服务器,其可以提供该企业发布的多种移动应用的安装文件。可选地,服务器100还提供移动应用容器的安装文件。应该理解,移动应用容器的安装文件也可以由另外的服务器(即,非服务器100)来提供。
[0028]移动终端120例如可以是移动电话、平板计算机、膝上型计算机、个人数字助理(PDA)等等。优选的,移动终端120可以是各种平台的移动电话,包括但不限于1S平台、Android平台、Win Phone平台等等。在移动终端120上可以安装根据本发明实施例的移动应用容器作为客户端。优选地,移动终端120上安装的移动应用容器可以具有关联的客户端ID。该客户端ID可以是邮件地址、用户ID、移动终端的标识信息(如硬件ID、手机号等)等等识别标记。
[0029]移动终端120可以经由通信网络与服务器110通信。该通信网络可以是无线网络,也可以是有线网络,例如但不限于:2G、3G、4G、5G(如WCDMA、CDMAl 100, TD-SCDMA, LTE等)移动通信网络、互联网、有线局域网、或者无线局域网等等。
[0030]图2示出了根据本发明实施例的移动应用容器200的示意框图。移动应用容器200可以作为客户端安装在移动终端120上。如图所示,移动应用容器200可以包括:应用安装模块202、外观引擎206、数据引擎208、以及代码引擎210。
[0031]应用安装模块202可以配置用于独立安装一个或多个应用。
[0032]外观引擎206可以配置用于读取已安装应用的外观文件以设置应用的外观。数据引擎208可以配置用于读取已安装应用的数据文件,以及根据代码引擎210的操作更新数据文件。代码引擎210可以配置用于读取已安装应用的执行代码,以响应于用户触发事件执行业务处理。
[0033]如图所示,可选地,移动应用容器200还可以包括应用卸载模块204。应用卸载模块204可以配置用于独立卸载一个或多个应用。
[0034]如图所示,移动应用容器200还可以包括存储单元212。存储单元212可以存储各个已安装应用的数据包(如下文图3所示的应用一数据包,应用2数据包)。应用数据包可以包括应用的外观文件、执行代码、数据文件等等。存储单元212还可以存储移动应用容器200关联的客户端ID。该客户端ID可以是邮件地址、用户ID等。可选地,存储单元212还可以维护该移动应用容器内的应用程序信息列表等等。存储单元212可以用本领域技术人员已知的各种存储技术来实现。本发明在这点上不受限制。存储单元212例如可以包括磁盘、磁光盘、光盘、或者半导体存储技术等等。
[0035]通常安装在同一移动应用容器中的一个或多个应用是同一企业发布的应用,这些应用常常具有类似的身份认证机制、通信接口等等。优选地,移动应用容器200还可以包括:身份认证模块,配置用于根据移动应用容器200关联的客户端标识向服务器执行身份认证。作为替代或补充,移动应用容器200还可以包括:安全通信模块。该通信安全模块可以配置用于实现在移动通信容器200与其他设备(如服务器)之间的通信和/或在移动应用容器200内的各个应用之间的通信。上述可选的通信安全模块和/或安全通信模块可以被移动应用容器200内安装的所有应用共享。应该理解,移动应用容器200还可以包括更多的可选模块,而不限于所例举的身份认证模块和安全通信模块。本发明在这方面不受限制。
[0036]由于本发明实施例的移动应用容器200提供了各种公共机制,诸如身份认证机制、通信接口等,应用开发人员无需在各个应用中再开发这些功能,因此可以节省在这些方面的重复开发工作,更多地集中于具体应用要实现的业务处理功能。
[0037]根据本发明的实施例,移动应用容器200可以是实现在应用层上的,而且可以是平台相关的。例如,可以提供在1S平台上的移动应用容器版本,在Android平台上的移动应用容器版本,在Win Phone平台上的移动应用容器版本,或者在其他平台上的移动应用容器版本。因此,移动应用容器200本身可被视为特定的移动平台上的原生应用,实现较佳的性能、易用性、用户体验以及安全性。
[0038]图3示意性地示出了根据本发明实施例的一个示例的移动应用容器管理系统300的示意图。如图所示,移动应用容器管理系统300包括服务器310和客户端320。
[0039]客户端320可以是如上所述的安装在移动终端上的移动应用容器200。客户端320可以与邮件地址、ID等识别标记绑定。客户端320可以包括若干种平台的应用容器(如1S平台,Android平台,Win Phone平台)。图中示出了平台一应用容器320a和平台二应用容器320b。但是应该理解,系统300也可以包括仅一个平台的应用容器,或者可以包括不止三个平台的应用容器。每种平台的应用容器可以包括若干引擎模块,分别用于处理交互与显示(如外观引擎322a)、业务代码处理(如代码引擎322b)、本地文件处理(如数据引擎322c)等等。图3中示出了平台一应用容器的具体构造。应该理解,平台二应用容器与平台一应用容器具有类似的结构,但是是基于不同的平台实现的,被安装在不同平台的移动终端上。
[0040]服务器310可以提供应用下载服务。服务器310可以提供各种应用的不同平台版本。可选地,服务器310可以包括多个服务器,每个服务器提供的应用适用于同一平台。[0041 ] 下面介绍根据本发明实施例的移动应用容器管理方法。
[0042]应用的整个过程可以分为两个阶段:1)应用的开发及上传阶段;以及2)应用的使用阶段。
[0043]下面参考图4说明一个应用开发完成后,针对不同应用平台是如何编译、上传及组装应用数据的。如图4所示,开发完成的应用的源代码402可以通过编译器404编译成不同平台的可执行文件406a, 406b, 406c。然后,不同平台的可执行文件406a, 406b, 406c可以分别与对应平台的外观文件408a,408b, 408c和数据文件410合成应用安装包414。该应用安装包414可以是多平台安装包,包括多个不同平台的应用模块412a,412b,412c。可选地,应用安装包414可以是分别对应不同平台的多个安装包。安装包414在生成后可以上传给服务器(如图3中所示的服务器310),以供客户端下载。
[0044]应用的使用可以分为三个主要部分:a)应用容器的下载及身份认证阶段;b)应用安装阶段;以及c)运行应用容器及应用模块的阶段。
[0045]下面参考图5-图7介绍应用的使用过程。图5示意性地示出了根据本发明实施例的移动应用容器管理方法500的流程图。
[0046]方法500可以涉及应用容器的下载及身份认证阶段和应用安装阶段。
[0047]如图5所示,方法开始于步骤S510,移动终端从服务器下载移动应用容器的安装文件,并且在其上安装。
[0048]当安装了移动应用容器后,方法500前进到步骤S520。在步骤S520中,用户通过该移动应用容器进行身份认证。具体地,用户通过移动应用容器客户端(如移动应用容器320)执行登陆。如前所述,该客户端与邮件地址、用户ID等指定用户的身份信息的客户端ID相绑定。服务器端接收到用户的登陆请求后,根据该请求中包含的客户端ID (其指示用户的身份信息)对用户的身份进行认证,决定该用户可以使用哪些应用。于是,在步骤S530中,响应于步骤S520中的身份认证结果,移动终端从服务器获取可安装应用列表。然后,在步骤S540中,可以在移动设备上的移动应用容器客户端中安装可安装应用列表中的一个或多个应用。被安装的应用可以是根据配置强制性为用户安装的,或者可以由用户自己选择安装哪些应用。
[0049]可选地,方法500还可以包括在所述移动应用容器中卸载一个或多个应用的步骤。
[0050]下面具体介绍步骤S540。应用的安装需要下载以下几类数据:用于定义应用外观的布局文件包,用于定义业务处理的代码文件包,以及用于包含业务数据的数据文件包。数据下载后需要进行处理,处理方法由以下的一种或几种方式组成:格式检查,签名检查,力口解密处理,散列值比对等。下面参考图6详细描述步骤S540的一个示例实现。
[0051]图6示出了安装选定应用的过程的流程图。应该理解,该选定应用可以是根据预定配置强制性要为用户安装的,或者可以由用户自己选择要安装的。
[0052]如图6所示,在步骤S542中,下载该选定应用的信息,包括从服务器下载用于定义应用外观的布局文件包、用于定义业务处理的代码文件包以及用于包含业务数据的数据文件包。这些文件包可以作为如参考图4说明的应用安装包414 一起获取。可选地,这些数据包可被分别获取。
[0053]在步骤S544中,处理下载的文件包。可选地,对文件的处理可以包括下述中的一项或多项:格式检查、签名检查、加解密处理、散列值比对等。
[0054]方法500还可以涉及运行应用容器及应用模块的阶段。该阶段包括:数据检查全部成功后,外观引擎将解析外观布局包及业务数据包,在应用中展示要显示的界面,同时代码处理引擎解析业务代码数据包,设置好事件驱动的对应关系。然后可以执行正常的事件触发机制。下面参考图7对该阶段进行说明。
[0055]图7示出了根据本发明实施例的运行应用的过程700的流程图。
[0056]方法700开始于步骤S710,运行移动应用容器,分别启用外观引擎、数据引擎、代码引擎,设置好事件触发映射。
[0057]在步骤S720中,外观引擎读取应用的外观文件以设置应用的外观。
[0058]在步骤S730中,数据引擎读取应用的数据文件,设置默认值。
[0059]在步骤S740中,等待用户触发事件,由代码引擎执行对应的业务。
[0060]方法700可以由根据本发明实施例的移动应用容器(如前述的移动应用容器200,320)来执行。在此不再对其步骤的更详细操作进行赘述。
[0061]然后,方法700结束。
[0062]上文已经结合实施例对本发明的移动应用容器及应用模块的开发、安装、下载和运行的方法进行了说明。本领域技术人员可以理解,上面示出的方法仅是示例性的。本发明的方法并不局限于上面示出的步骤和顺序。本领域技术人员根据所示实施例的教导可以进行许多变化和修改。
[0063]通过本发明实施例的移动应用容器及其管理方法,可以减少应用开发人员的精力,达到跨平台代码的复用。并且可以提供了一些框架性的机制,使得无论是开发还是维护都大大减少了工作量。
[0064]应该注意,上文的描述和示例不意味着将本发明的范围限制为单一实施例,相反通过互换和组合不同实施例的一些或全部所述或所示元素形成其他实施例也是可能的。此夕卜,在可以使用已知组件来部分或完全实现本发明的特定元素的情况下,将仅描述这些已知组件中为了理解本发明所必需的那部分组件,且将省略对这些已知组件中其他部分的详细描述,以使得本发明更突出。除非本文中另行指出,否则本领域技术人员应该理解:尽管本发明的一些实施例描述为用软件实形式现,但是本发明不受限于此,而是也可以用硬件、软件和硬件的组合来实现,且反之亦然。除非本文中另行明确声明,否则在本说明书中,不应将示出了单一组件的实施例视为是限制性的,而是本发明意在包含包括多个相同组件在内的其他实施例,且反之亦然。此外,本发明包含本文中作为示意所引用的已知组件的当前和将来开发的等价物。
[0065]本领域技术人员应该理解,尽管通过具体实施例描述了本发明,但是本发明的范围不限于这些具体实施例。本发明的范围由所附权利要求及其任何等同含义限定。
【权利要求】
1.一种移动应用容器,包括: 应用安装模块,用于安装一个或多个应用; 外观引擎,用于读取已安装应用的外观文件以设置应用的外观; 数据引擎,用于读取已安装应用的数据文件;以及 代码引擎,用于读取已安装应用的执行代码,以响应于用户触发事件执行业务处理。
2.根据权利要求1所述的移动应用容器,其中,所述移动应用容器实现在应用层上。
3.根据权利要求1所述的移动应用容器,还包括:身份认证模块,用于根据所述移动应用容器关联的客户端标识向服务器执行身份认证。
4.根据权利要求1所述的移动应用容器,还包括:安全通信模块,其被所有已安装应用共享;和/或应用卸载模块,用于卸载一个或多个应用。
5.根据权利要求1所述的移动应用容器,其中所述应用安装模块进一步配置为: 下载用于定义应用外观的布局文件包、用于定义业务处理的代码文件包以及包含业务数据的数据文件包;以及处理下载的文件包。
6.—种移动应用容器管理方法,包括: 下载并在移动设备上安装移动应用容器; 根据所述移动应用容器关联的客户端标识向服务器执行身份认证; 响应于所述身份认证,从服务器获取可安装应用列表;以及 在所述移动应用容器中安装所述可安装应用列表中的一个或多个应用。
7.根据权利要求6所述的方法,其中所述移动应用容器实现在应用层上。
8.根据权利要求6所述的方法,其中,所述安装应用的步骤包括: 下载用于定义应用外观的布局文件包、用于定义业务处理的代码文件包以及用于包含业务数据的数据文件包;以及处理下载的文件包。
9.根据权利要求8所述的方法,其中,所述处理包括下述中的一项或多项:格式检查、签名检查、加解密处理、以及散列值比对。
10.根据权利要求6所述的方法,还包括:在所述移动应用容器中卸载一个或多个应用。
【文档编号】G06F9/445GK104267958SQ201410513586
【公开日】2015年1月7日 申请日期:2014年9月29日 优先权日:2014年9月29日
【发明者】刘伟 申请人:北京网秦天下科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1