CN104090785B - 应用程序提供方法、装置及系统 - Google Patents

应用程序提供方法、装置及系统 Download PDF

Info

Publication number
CN104090785B
CN104090785B CN201410276549.3A CN201410276549A CN104090785B CN 104090785 B CN104090785 B CN 104090785B CN 201410276549 A CN201410276549 A CN 201410276549A CN 104090785 B CN104090785 B CN 104090785B
Authority
CN
China
Prior art keywords
unit
plug
user
application program
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410276549.3A
Other languages
English (en)
Other versions
CN104090785A (zh
Inventor
丁亮
金亮
李名进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201410276549.3A priority Critical patent/CN104090785B/zh
Publication of CN104090785A publication Critical patent/CN104090785A/zh
Application granted granted Critical
Publication of CN104090785B publication Critical patent/CN104090785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开是关于一种应用程序提供方法、装置及系统,属于数据保护领域。所述方法包括:获取用户登录信息;将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。本公开实现了提高源代码的安全性的效果。本公开解决了源代码安全性低的问题。本公开用于应用程序的提供。

Description

应用程序提供方法、装置及系统
技术领域
本公开涉及数据保护领域,特别涉及一种应用程序提供方法、装置及系统。
背景技术
源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件。源代码编译成应用程序后才能运行。
相关技术中,服务器通常将应用程序以整包下载或推送的方式提供给用户。用户在获取了应用程序后,将应用程序安装在终端上就可以使用。但是一些恶意用户,通过将应用程序反向编译能够得到源代码。
但是,由于服务器直接将应用程序提供给用户,对源代码未加以保护,使得恶意用户可以轻易地查看或修改应用程序的源代码,导致很多源代码被盗用,甚至产生通过源代码进行服务器攻击等恶意行为。因此相关技术中,存在源代码安全性低的问题。
发明内容
为了解决源代码安全性低的问题,本公开实施例提供了一种应用程序提供方法、装置及系统。所述技术方案如下:
第一方面,提供了一种应用程序提供方法,所述方法包括:
获取用户登录信息;
将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
可选地,所述获取所述服务器提供的所述用户有权使用的插件,包括:
接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件的信息;
为所述服务器发送的插件列表中每个插件设置相应的插件接口;
如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件。
可选地,在下载某一插件之前,从所述服务器获取所述插件的最新版本号;
检测所述客户端是否支持所述最新版本号的插件的运行;
如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
可选地,所述获取所述服务器提供的所述用户有权使用的插件,包括:
接收所述服务器推送的所述用户有权使用的全部或部分插件。
可选地,所述方法还包括:
对于已获取到本地的插件中的任一插件,从所述服务器获取所述插件的同步信息;
根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
可选地,所述根据所述同步信息对所述插件进行使用权限和/或使用版本的同步,包括:
若所述同步信息指示所述用户已无权使用所述插件,则删除所述插件的相关内容;
若所述同步信息指示所述插件已经失效,则删除所述插件的相关内容;
若所述同步信息指示的所述插件的最新版本号高于本地的当前版本号,则下载并更新所述插件;
若所述同步信息指示的所述插件的最新版本号等于本地的当前版本号,则保持所述插件。
可选地,所述方法还包括:
从所述服务器获取所述客户端的最新版本号;
检测所述客户端的最新版本号是否高于当前版本号,所述客户端用于提供插件的运行环境;
如果所述客户端的最新版本号高于当前版本号,则从所述服务器下载并安装所述最新版本号对应的客户端。
可选地,所述方法还包括:
在获取到任一插件后,通过与所述服务器约定的解密方式对所述插件进行解密。
第二方面,提供了一种应用程序提供方法,所述方法包括:
接收终端发送的用户登录信息;
根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
可选地,所述向所述终端提供所述用户有权使用的插件,包括:
向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信息;所述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
向所述终端提供所述插件的下载。
可选地,所述方法还包括:
在接收所述终端发送的某一插件的版本号获取请求后,向所述终端提供所述插件的最新版本号,所述终端用于检测所述客户端是否支持所述最新版本号的插件的运行,如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
可选地,所述向所述终端提供所述用户有权使用的插件,包括:
向所述终端推送所述用户有权使用的全部或部分插件。
可选地,所述方法还包括:
对于已获取到所述终端的插件中的任一插件,向所述终端提供所述插件的同步信息,所述终端用于根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
可选地,所述方法还包括:
向所述终端提供所述客户端的最新版本号,所述终端用于检测所述客户端的最新版本号是否高于当前版本号,如果所述客户端的最新版本号高于当前版本号,则从所述服务器下载并安装所述最新版本号对应的客户端;
向所述终端提供所述客户端的下载。
可选地,所述方法还包括:
在提供任一插件的下载之前,通过与所述客户端约定的加密方式对所述插件进行加密。
第三方面,提供了一种应用程序提供装置,包括:
第一获取单元,被设置为获取用户登录信息;
发送单元,被设置为将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
第二获取单元,被设置为获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
可选地,所述第二获取单元,被设置为:
接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件的信息;
为所述服务器发送的插件列表中每个插件设置相应的插件接口;
如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件。
可选地,所述应用程序提供装置还包括:
第三获取单元,被设置为在下载某一插件之前,从所述服务器获取所述插件的最新版本号;
第一检测单元,被设置为检测所述客户端是否支持所述最新版本号的插件的运行;
处理单元,被设置为在所述客户端不支持所述最新版本号的插件的运行时,不下载所述插件。
可选地,所述第二获取单元,被设置为接收所述服务器推送的所述用户有权使用的全部或部分插件。
可选地,所述应用程序提供装置还包括:
第四获取单元,被设置为对于已获取到本地的插件中的任一插件,从所述服务器获取所述插件的同步信息;
同步单元,被设置为根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
可选地,所述同步单元,被设置为:
若所述同步信息指示所述用户已无权使用所述插件,则删除所述插件的相关内容;
若所述同步信息指示所述插件已经失效,则删除所述插件的相关内容;
若所述同步信息指示的所述插件的最新版本号高于本地的当前版本号,则下载并更新所述插件;
若所述同步信息指示的所述插件的最新版本号等于本地的当前版本号,则保持所述插件;
若所述同步信息指示所述用户有权使用所述插件且本地不存在所述插件,则下载所述插件。
可选地,所述应用程序提供装置还包括:
第五获取单元,被设置为从所述服务器获取所述客户端的最新版本号;
第二检测单元,被设置为检测所述客户端的最新版本号是否高于当前版本号,所述客户端用于提供插件的运行环境;
下载单元,被设置为在所述客户端的最新版本号高于当前版本号时,从所述服务器下载并安装所述最新版本号对应的客户端。
可选地,所述应用程序提供装置还包括:
解密单元,被设置为在获取到任一插件后,通过与所述服务器约定的解密方式对所述插件进行解密。
第四方面,提供了一种应用程序提供装置,包括:
接收单元,被设置为接收终端发送的用户登录信息;
确定单元,被设置为根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
第一提供单元,被设置为向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
可选地,所述第一提供单元被设置为:
向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信息;所述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
向所述终端提供所述插件的下载。
可选地,所述应用程序提供装置还包括:
第二提供单元,被设置为在接收所述终端发送的某一插件的版本号获取请求后,向所述终端提供所述插件的最新版本号,所述终端用于检测所述客户端是否支持所述最新版本号的插件的运行,如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
可选地,所述第一提供单元,被设置为:
向所述终端推送所述用户有权使用的全部或部分插件。
可选地,所述应用程序提供装置还包括:
第三提供单元,被设置为对于已获取到所述终端的插件中的任一插件,向所述终端提供所述插件的同步信息,所述终端用于根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
可选地,所述应用程序提供装置还包括:
第四提供单元,被设置为向所述终端提供所述客户端的最新版本号,所述终端用于检测所述客户端的最新版本号是否高于当前版本号,如果所述客户端的最新版本号高于当前版本号,则从所述服务器下载并安装所述最新版本号对应的客户端;
第五提供单元,被设置为向所述终端提供所述客户端的下载。
可选地,所述应用程序提供装置还包括:
解密单元,被设置为在提供任一插件的下载之前,通过与所述客户端约定的加密方式对所述插件进行加密。
第五方面,提供了一种应用程序提供系统,包括:
以上第三方面中任一所述的应用程序提供装置;
以及以上第四方面中任一所述的应用程序提供装置。
第六方面,提供了一种应用程序提供装置,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取用户登录信息;
将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
第七方面,提供了一种应用程序提供装置,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收终端发送的用户登录信息;
根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开提供的应用程序提供方法、装置及系统,通过把应用程序以插件的形式结合用户权限提供给终端,使终端获取到与用户权限对应的部分版本的应用程序,尽量避免将完整版本的应用程序提供给终端,降低了用户获取源代码的概率,因此提高了源代码的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本公开的实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种应用程序提供方法的方法流程图。
图2A是根据另一示例性实施例示出的一种应用程序提供方法的方法流程图。
图2B是根据另一示例性实施例示出的一种应用程序提供方法的原理示意图。
图3是根据一示例性实施例示出的一种应用程序提供方法的信息交互图。
图4是根据一示例性实施例示出的一种登录界面图。
图5是根据一示例性实施例示出的一种终端从下载服务器下载插件的方法流程图。
图6是根据一示例性实施例示出的一种终端界面图。
图7是根据一示例性实施例示出的另一种终端界面图。
图8是根据一示例性实施例示出的一种应用程序提供装置的结构示意图。
图9是根据一示例性实施例示出的另一种应用程序提供装置的结构示意图。
图10是根据一示例性实施例示出的又一种应用程序提供装置的结构示意图。
图11是根据一示例性实施例示出的再一种应用程序提供装置的结构示意图。
图12是根据另一示例性实施例示出的一种应用程序提供装置的结构示意图。
图13是根据另一示例性实施例示出的另一种应用程序提供装置的结构示意图。
图14是根据另一示例性实施例示出的又一种应用程序提供装置的结构示意图。
图15是根据另一示例性实施例示出的再一种应用程序提供装置的结构示意图。
图16是根据又一示例性实施例示出的一种应用程序提供装置的结构示意图。
图17是根据又一示例性实施例示出的另一种应用程序提供装置的结构示意图。
图18是根据一示例性实施例示出的一种应用程序提供系统的结构示意图。
图19是根据又一示例性实施例示出的又一种应用程序提供装置的结构示意图。
图20是根据又一示例性实施例示出的再一种应用程序提供装置的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部份实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
图1是根据一示例性实施例示出的一种应用程序提供方法的方法流程图。本实施例以该应用程序提供方法应用于终端来举例说明。该方法包括如下几个步骤:
在步骤101中,获取用户登录信息。
在步骤102中,将用户登录信息发送至服务器,服务器用于根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
在步骤103中,获取服务器提供的用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
综上所述,本实施例提供的应用程序提供方法,通过把应用程序以插件的形式结合用户权限提供给终端,使终端获取到与用户权限对应的部分版本的应用程序,避免将完整版本的应用程序提供给终端,降低了用户获取源代码的概率,因此提高了源代码的安全性。
图2A是根据另一示例性实施例示出的一种应用程序提供方法的方法流程图,本实施例以该应用程序提供方法应用服务器中来举例说明。该方法包括如下几个步骤:
在步骤201中,接收终端发送的用户登录信息。
在步骤202中,根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
在步骤203中,向终端提供用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
综上所述,本实施例提供的应用程序提供方法,通过把应用程序以插件的形式结合用户权限提供给终端,使终端获取到与用户权限对应的部分版本的应用程序,避免将完整版本的应用程序提供给终端,降低了用户获取源代码的概率,因此提高了源代码的安全性。
为了更形象的说明图2A所示的实施例,请参考图2B,其示出了图2A实施例的原理示意图。一个完整版本的应用程序42的源代码被预先划分为客户端和插件两部分。其中,客户端提供插件在运行时的运行环境,而至少一个插件中的每个插件则用于实现应用程序42的至少一个功能,比如图中以6个插件为例。每个插件是应用程序42按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
在一个用户需要使用该应用程序42时,终端20会将用户登录信息发送给服务器40。服务器40根据用户登录信息确定该用户有权使用的插件,然后把该用户有权使用的插件反馈给终端20。终端20获取到的应用程序22为部分版本的应用程序。也即,终端20在用户权限不是最高级权限时,只能获取到部分版本的应用程序,而无法获取到完整版本的应用程序。即便终端20的用户对获取到的插件进行反向编译,也仅能够得到一小部分源代码,无法得到应用程序的完整源代码,有效保证了源代码的安全性。
图3是根据一示例性实施例示出的一种应用程序提供方法的信息交互图。本实施例以该应用程序提供方法应用于终端和服务器中来举例说明。该应用程序提供方法包括如下几个步骤:
在步骤301中,终端从服务器下载客户端。
当用户希望获取一个应用程序时,终端接收用户的安装包下载指令。终端可以向服务器发送安装包下载请求,该安装包下载请求可以包括终端标识,如终端的IP(InternetProtocol,互联网协议)地址,和客户端标识。服务器根据客户端标识确定相应的客户端的安装包,将该安装包发送至该终端标识所对应的终端。终端在接收到用户触发的安装指令后安装该安装包,并在安装包安装完成后在终端的用户界面显示客户端接口,该客户端接口可以是图标或弹窗等等。
在步骤302中,终端运行客户端。
终端对客户端接口进行监测,当在该客户端接口接收到用户触发的客户端运行指令时,运行该客户端。
如果客户端被设置为开机自启状态,终端也可以在每次终端开机时,运行该客户端。
在运行客户端后,客户端会通过用户界面向用户提供登录界面,该登录界面可以如图4所示,用于提示用户填写用户登录信息。
在步骤303中,终端获取用户登录信息。
终端可以在如图4所示的登录界面获取用户输入的用户登录信息,或者根据用户预先设置的方式获取用户登录信息。
该用户登录信息包括用户标识,该用户标识可以是用户名和密码;该用户标识还可以是手机号码。
在步骤304中,终端将用户登录信息发送至服务器。
在步骤305中,服务器根据用户登录信息确定用户有权使用的插件。
服务器中存储多个插件,该插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
服务器可以根据预设划分规则划分用户权限,然后根据该用户权限建立用户标识与插件的对应关系,并实时更新该用户标识与插件的对应关系。
实际应用中,该用户标识与插件的对应关系可以以表格或图形形式表现出来,服务器根据该用户标识在该用户标识与插件的对应关系查询得到该用户标识对应的插件作为该用户有权使用的插件。
示例的,该用户与插件的对应关系可以以插件查询表的形式表现出来,服务器中维护的插件查询表可以如表1所示。不同用户标识可以对应不同的插件,假设服务器获取的用户登录信息中用户标识为张三,根据表1可以查询得到张三对应的插件标识为A,则可以获取插件A。需要说明的是,用户标识与插件的对应关系可以包括用户组与插件的对应关系,每个用户组包括至少一个用户标识,示例的,表1中的赵六和李七即可组成一个用户组,该用户组对应的插件为插件A、B和C。
表1
需要说明的是,用户有权使用的插件可以以插件列表的形式体现,其中,每个插件列表记录有至少一个插件的信息,则上述用户标识与插件的对应关系包括用户标识与插件列表的对应关系。
示例的,该用户与插件列表的对应关系可以以插件列表查询表的形式表现出来,服务器中维护的插件列表查询表可以如表2所示,每个插件列表可以对应一个或多个用户。假设服务器获取的用户登录信息中用户标识为王五,根据表2可以查询得到王五对应的插件列表号码为3,则服务器相应的获取3号插件列表。
表2
示例的,假设该3号插件列表如表3所示,该3号插件列表中记录有3个插件的信息,分别为插件A、插件B和插件D的信息,服务器可以将该3号插件列表发送给终端,则终端上可以运行该插件A、插件B和插件D种的任意一个。
表3中假设记录的每个插件的插件信息包括插件标识和其他信息,该其他信息可以包括插件的下载地址和插件的版本号等中的一个或多个,插件的标识用于唯一标识该插件,插件的下载地址用于在插件下载时提供相应下载地址,插件的版本号用于标识插件的版本。本实施例表3中的内容只是示意性说明,不代表实际应用中该插件的实际信息。
表3
这样一来,服务器根据用户登录信息对用户使用插件列表的权限进行了鉴权,使得不同用户可以使用不同的插件,无需为用户返回完整版本的应用程序,保证了源代码的安全。
需要说明的是,由于插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件,则预设规则通常是按照代码的功能划分的,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。例如,源代码编译得到的应用程序可以实现功能1至功能10,则按照功能将该源代码划分为10个代码段,每个代码段编译后得到的插件实现一种相应的游戏功能,如插件A实现功能1,插件B实现功能2。
在步骤306中,服务器向终端提供用户有权使用的插件。
服务器向终端提供用户有权使用的插件可以至少包括两种方法:一种是终端在有使用需求时从服务器下载插件;另一种是服务器主动向终端推送插件。
第一,终端在有使用需求时从服务器下载插件的方法,如图5所示,包括:
在步骤3061中,服务器向终端发送插件列表,插件列表记录有用户有权使用的插件的信息。
在步骤3062中,终端为插件列表中每个插件设置相应的插件接口。
示例的,当终端获取了表3中记录的3号插件列表,则终端为插件A、插件B和插件D分别建立相应的插件接口,形成的终端界面图可以如图6所示,每个插件接口可以包括该插件的图标和插件标识。
示例的,插件A的插件接口包括图标1和插件标识A;插件B的插件接口包括图标2和插件标识B;插件D的插件接口包括图标3和插件标识D。
在步骤3063中,终端在满足预设条件的情况下,下载部分或全部插件接口对应的插件。
示例的,如果在一个插件接口中检测到用户触发的下载信号,终端可以根据下载信号在服务器下载与插件接口对应的插件。
或者,在网络情况优于预设条件时,终端可以下载每个插件接口所对应的插件,比如,在网络情况为WIFI时,终端可以下载每个插件接口所对应的插件。
可选的,终端可以向服务器发送下载请求,该下载请求包括待下载插件的标识,服务器根据该下载请求向终端提供插件的下载,该待下载插件可以是一个或多个。
需要说明的是,在下载某一插件之前,终端可以从服务器获取插件的最新版本号;服务器在接收终端发送的某一插件的版本号获取请求后,向终端提供插件的最新版本号;终端在获取该新版本号后,检测当前的客户端是否支持最新版本号的插件的运行;如果客户端不支持最新版本号的插件的运行,则不下载该插件。这样可以避免插件下载后无法运行的情况,减少无效插件对终端空间的占用,同时提高用户体验。
第二,服务器向终端推送插件的方法,包括:
服务器获取用户有权使用的插件,向终端推送该用户有权使用的全部或部分插件。
示例的,在网络情况优于预设条件时,服务器可以向终端推送该用户有权使用的全部插件;在网络情况未达到预设条件时,服务器可以分组向终端推送该用户有权使用的插件,其中,每组插件包括预设个数的插件。
实际应用中,服务器在提供任一插件的下载之前,可以通过与客户端约定的加密方式对插件进行加密。相应的,终端在获取到任一插件后,可以通过与服务器约定的解密方式对插件进行解密。这样可以防止插件被恶意截获和篡改,有效保证插件的安全性。
在步骤307中,终端和服务器对插件的预设参数进行同步。
本实施例中,服务器可以实时对插件的预设参数进行更新,该插件的预设参数可以包括使用权限、插件版本等。
实际应用中,服务器可以根据用户的可信度,用户的插件使用频率等等来进行使用权限的调整,这样保证了不同用户在不同时段有权使用的插件可以不同,服务器无需为用户提供完整版本的应用程序,且向用户提供的残缺版本的应用程序也可以根据用户权限的变化不断变化,有效防止恶意用户查看或修改应用程序的源代码,避免源代码被盗用,因此提高了源代码安全性能。
进一步的,服务器进行插件版本的更新能够保证在插件版本升级后,用户能够获取最新的插件版本,有效提高用户体验。
示例的,对于已获取到终端的插件中的任一插件,服务器可以向终端提供该插件的同步信息,终端根据该同步信息与服务器保持该预设参数的同步。
示例的,对于已获取到本地的插件中的任一插件,终端可以从服务器获取插件的同步信息;根据同步信息对插件进行使用权限和/或使用版本的同步。
该使用权限和/或使用版本的同步指的是使用权限的同步、使用版本的同步、使用权限和使用版本的同步中的任意一种。
需要说明的是,上述同步信息可以在预设时刻获取,该预设时刻可以包括在用户触发运行已获取到本地的插件的时刻;在每隔预定时间间隔所确定的时刻;与服务器约定的同步时刻。
示例的,若同步信息指示用户已无权使用插件,则删除该插件的相关内容,该相关内容可以包括插件的标识、插件包等等,通常为终端中存储的与该插件关联的所有内容。若同步信息指示插件已经失效,则删除该插件的相关内容;若同步信息指示的插件的最新版本号高于本地的当前版本号,则下载并更新插件;若同步信息指示的插件的最新版本号等于本地的当前版本号,则保持插件。
本实施例假设终端原来维护的插件列表如表3所示,由于用户权限的更新,同步信息指示用户已无权使用插件D,则删除插件D的相关内容;同步信息指示的插件A的最新版本号高于本地的当前版本号,则下载并更新插件A;同步信息指示的插件B的最新版本号等于本地的当前版本号,则保持插件B。
最终,终端与服务器同步后得到的插件列表如表4所示。终端可以根据插件列表4更新相应的插件接口,相应删除插件D的插件接口,保持插件B的插件接口,改变插件A的插件接口,形成的终端界面图可以如图7所示,插件A的插件接口包括图标5和插件标识A,插件B的插件接口包括图标2和插件标识B。需要说明的是,插件A的插件接口中的图标5与原来的图标1不同,用于向用户提示插件A的版本已改变。
表4
实际应用中,服务器上可以维护不同的插件,每个插件可以存在多个版本,示例的,插件的版本列表可以如表5所示。插件标识为A的插件共有两个版本号,分别是1.0和2.0,插件标识为B的插件共有两个版本号,分别是2.0和3.0,插件标识为C的插件共有1个版本号,即1.0,插件标识为D的插件共有1个版本号,即1.0。实际应用中,为了减少服务器的负载,服务器通常只维护每个插件的最新版本。
表5
在终端更新插件的过程中,终端可以通过直接下载最新版本号的插件的插件包来进行插件包更新,也可以通过下载增量包,与当前版本号的插件的插件包组合得到最新版本号的插件的插件包来进行插件包更新。
示例的,终端可以删除当前版本号的插件的插件包,向服务器发送最新版本号的插件的插件包的下载请求,然后接收服务器发送的最新版本号的插件的插件包,最后安装最新版本号的插件的插件包。
可选的,终端也可以向服务器发送最新版本号的插件的增量包的下载请求,该增量包为最新版本号的插件的插件包与当前版本号的插件的插件包进行差分得到的数据包,然后接收服务器发送的增量包,最后安装增量包,由于当前版本号的插件的插件包已经安装,与增量包组合便可形成最新版本号的插件的插件包。
需要说明的是,在步骤3062中,若终端为插件列表中每个插件设置相应的插件接口,但还未进行插件的下载,终端也可以对于暂未获取到本地的插件,从服务器获取该插件的同步信息;根据同步信息对该插件进行使用权限和/或使用版本的同步,相应的同步方法可以参照上述对已获取到本地的插件的同步方法,本实施例不再赘述。
通过上述同步过程,实现了服务器控制终端进行插件的添加、删除或升级等操作,提高了插件的可控性,使得终端与服务器实现信息同步。同时,终端可以自动在后台进行插件列表的更新,无需用户操作,减少用户的操作流程,有效提高用户体验。
在步骤308中,终端和服务器对客户端的版本进行同步。
本实施例中,服务器还可以对客户端版本进行更新,因此终端需要与服务器保持客户端版本的同步。
示例的,服务器在获取了客户端的最新版本后,可以向终端提供客户端的最新版本号,终端在从服务器获取客户端的最新版本号后,检测客户端的最新版本号是否高于当前版本号,如果客户端的最新版本号高于当前版本号,则从服务器下载并安装最新版本号对应的客户端;服务器相应的向终端提供客户端的下载。
示例的,服务器上可以维护不同类型的客户端,每个客户端可以存在多个版本。
客户端的版本列表可以如表6所示,客户端标识为X的客户端共有两个版本号,分别是1.0和2.0,客户端标识为Y的客户端共有两个版本号,分别是2.0和3.0,假设终端需要下载客户端X的最新版本的安装包,终端可以通过发送客户端版本查询信息查询到客户端X的最新的客户端版本为2.0,然后再通过向服务器发送客户端的最新版本的安装包的下载请求,服务器根据该下载请求相应获取X2.0的安装包,并发送给终端。
实际应用中,为了减少服务器的负载,服务器通常只维护每个客户端的最新版本。
表6
需要说明的是,上述步骤301、302、303、304、307、308可以单独实现成为终端侧的应用程序提供方法;步骤305、306、307、308可以单独实现成为服务侧的应用程序提供方法。本实施例提供的应用程序提供方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本公开的保护范围之内,因此不再赘述。
综上所述,本实施例提供的应用程序提供方法,通过把应用程序以功能组件的形式结合用户权限提供给终端,使终端获取到与用户权限对应的残缺版本的应用程序,避免将完整的应用程序提供给终端,降低了用户获取源代码的概率,因此提高了源代码的安全性。
以下是本公开的装置实施例,其中未详细描述的细节,可以参考上述实施例中与之相对应的方法实施例。
图8是根据一示例性实施例示出的一种应用程序提供装置60的结构示意图,该应用程序提供装置60可以通过软件、硬件或者两者的结合实现成为终端的全部或者一部分,该装置可以包括:第一获取单元601,发送单元602和第二获取单元603。
第一获取单元601,被设置为获取用户登录信息。
发送单元602,被设置为将用户登录信息发送至服务器,服务器用于根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
第二获取单元603,被设置为获取服务器提供的用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
综上所述,本实施例提供的应用程序提供装置,通过把应用程序以插件的形式结合用户权限提供给第二获取单元,使第二获取单元获取到与用户权限对应的部分版本的应用程序,避免将完整版本的应用程序提供给该应用程序提供装置,降低了用户获取源代码的概率,因此提高了源代码的安全性。
图9是根据一示例性实施例示出的另一种应用程序提供装置60的结构示意图,该应用程序提供装置60可以通过软件、硬件或者两者的结合实现成为终端的全部或者一部分,该装置可以包括:第一获取单元601,发送单元602,第二获取单元603,第三获取单元604,第一检测单605和处理单元606。
第一获取单元601,被设置为获取用户登录信息。
发送单元602,被设置为将用户登录信息发送至服务器,服务器用于根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第二获取单元603,被设置为获取服务器提供的用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
可选地,第二获取单元603,被设置为:
接收服务器发送的插件列表,插件列表记录有用户有权使用的插件的信息;
为服务器发送的插件列表中每个插件设置相应的插件接口;
如果在一个插件接口中检测到用户触发的下载信号,则根据下载信号在服务器下载与插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件。
第三获取单元604,被设置为在下载某一插件之前,从服务器获取插件的最新版本号。
第一检测单元605,被设置为检测客户端是否支持最新版本号的插件的运行。
处理单元606,被设置为在客户端不支持最新版本号的插件的运行时,不下载插件。
需要说明的是,第二获取单元603,也可以被设置为接收服务器推送的用户有权使用的全部或部分插件。
图10是根据一示例性实施例示出的又一种应用程序提供装置60的结构示意图,该应用程序提供装置60可以通过软件、硬件或者两者的结合实现成为终端的全部或者一部分,该装置可以包括:第一获取单元601,发送单元602,第二获取单元603,第四获取单元607和同步单元608。
第一获取单元601,被设置为获取用户登录信息。
发送单元602,被设置为将用户登录信息发送至服务器,服务器用于根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第二获取单元603,被设置为获取服务器提供的用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
第四获取单元607,被设置为对于已获取到本地的插件中的任一插件,从服务器获取插件的同步信息。
同步单元608,被设置为根据同步信息对插件进行使用权限和/或使用版本的同步。
同步单元608,被设置为:
若同步信息指示用户已无权使用插件,则删除插件的相关内容;
若同步信息指示插件已经失效,则删除插件的相关内容;
若同步信息指示的插件的最新版本号高于本地的当前版本号,则下载并更新插件;
若同步信息指示的插件的最新版本号等于本地的当前版本号,则保持插件。
图11是根据一示例性实施例示出的再一种应用程序提供装置60的结构示意图,该应用程序提供装置60可以通过软件、硬件或者两者的结合实现成为终端的全部或者一部分,该装置可以包括:第一获取单元601,发送单元602,第二获取单元603,第五获取单元609,第二检测单元610和下载单元611。
第一获取单元601,被设置为获取用户登录信息。
发送单元602,被设置为将用户登录信息发送至服务器,服务器用于根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第二获取单元603,被设置为获取服务器提供的用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
第五获取单元609,被设置为从服务器获取客户端的最新版本号。
第二检测单元610,被设置为检测客户端的最新版本号是否高于当前版本号,客户端用于提供插件的运行环境。
下载单元611,被设置为在客户端的最新版本号高于当前版本号时,从服务器下载并安装最新版本号对应的客户端。
图12是根据另一示例性实施例示出的一种应用程序提供装置60的结构示意图,该应用程序提供装置60可以通过软件、硬件或者两者的结合实现成为终端的全部或者一部分,该装置可以包括:第一获取单元601,发送单元602,第二获取单元603和解密单元612。
第一获取单元601,被设置为获取用户登录信息。
发送单元602,被设置为将用户登录信息发送至服务器,服务器用于根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第二获取单元603,被设置为获取服务器提供的用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
解密单元612,被设置为在获取到任一插件后,通过与服务器约定的解密方式对插件进行解密。
图13是根据另一示例性实施例示出的另一种应用程序提供装置70的结构示意图,该应用程序提供装置70可以通过软件、硬件或者两者的结合实现成为服务器的全部或者一部分,包括:接收单元701,确定单元702和第一提供单元703。
接收单元701,被设置为接收终端发送的用户登录信息。
确定单元702,被设置为根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第一提供单元703,被设置为向终端提供用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
综上所述,本实施例提供的应用程序提供装置,通过第一提供单元把应用程序以插件的形式结合用户权限提供给终端,使终端获取到与用户权限对应的部分版本的应用程序,避免将完整的应用程序提供给终端,降低了用户获取源代码的概率,因此提高了源代码的安全性。
图14是根据另一示例性实施例示出的又一种应用程序提供装置70的结构示意图,该应用程序提供装置70可以通过软件、硬件或者两者的结合实现成为服务器的全部或者一部分,该装置可以包括:接收单元701,确定单元702,第一提供单元703和第二提供单元704。
接收单元701,被设置为接收终端发送的用户登录信息。
确定单元702,被设置为根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第一提供单元703,被设置为向终端提供用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
可选地,第一提供单元703,被设置为:
向终端发送插件列表,插件列表记录有用户有权使用的插件的信息;终端用于为插件列表中每个插件设置相应的插件接口,如果在一个插件接口中检测到用户触发的下载信号,则根据下载信号在服务器下载与插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件。
向终端提供插件的下载。
第二提供单元704,被设置为在接收终端发送的某一插件的版本号获取请求后,向终端提供插件的最新版本号,终端用于检测客户端是否支持最新版本号的插件的运行,如果客户端不支持最新版本号的插件的运行,则不下载插件。
第一提供单元703,还可以被设置为:
向终端推送用户有权使用的全部或部分插件。
图15是根据另一示例性实施例示出的再一种应用程序提供装置70的结构示意图,该应用程序提供装置70可以通过软件、硬件或者两者的结合实现成为服务器的全部或者一部分,该装置可以包括:接收单元701,确定单元702,第一提供单元703和第三提供单元705。
接收单元701,被设置为接收终端发送的用户登录信息。
确定单元702,被设置为根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第一提供单元703,被设置为向终端提供用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
第三提供单元705,被设置为对于已获取到终端的插件中的任一插件,向终端提供插件的同步信息,终端用于根据同步信息对插件进行使用权限和/或使用版本的同步。
图16是根据又一示例性实施例示出的一种应用程序提供装置70的结构示意图,该应用程序提供装置70可以通过软件、硬件或者两者的结合实现成为服务器的全部或者一部分,该装置可以包括:接收单元701,确定单元702,第一提供单元703,第四提供单元706和第五提供单元707。
接收单元701,被设置为接收终端发送的用户登录信息。
确定单元702,被设置为根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第一提供单元703,被设置为向终端提供用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
第四提供单元706,被设置为向终端提供客户端的最新版本号,终端用于检测客户端的最新版本号是否高于当前版本号,如果客户端的最新版本号高于当前版本号,则从服务器下载并安装最新版本号对应的客户端。
第五提供单元707,被设置为向终端提供客户端的下载。
图17是根据又一示例性实施例示出的另一种应用程序提供装置70的结构示意图,该应用程序提供装置70可以通过软件、硬件或者两者的结合实现成为服务器的全部或者一部分,该装置可以包括:
接收单元701,确定单元702,第一提供单元703和解密单元708。
接收单元701,被设置为接收终端发送的用户登录信息。
确定单元702,被设置为根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件。
第一提供单元703,被设置为向终端提供用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
解密单元708,被设置为在提供任一插件的下载之前,通过与客户端约定的加密方式对插件进行加密。
图18是根据一示例性实施例示出的一种应用程序提供系统80的结构示意图,该应用程序提供装置70可以通过软件、硬件或者两者的结合实现成为服务器的全部或者一部分,该装置可以包括:
图8至图12任一实施例的应用程序提供装置60,该应用程序提供装置60被设置为获取用户登录信息;将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
以及图13至图17任一实施例的应用程序提供装置70,该应用程序提供装置70被设置为接收终端发送的用户登录信息;根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
图19是根据又一示例性实施例示出的又一种应用程序提供装置90的结构示意图,例如,装置90可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图19,装置90可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(I/O)的接口912,传感器组件914,以及通信组件916。
处理组件902通常控制装置90的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。其中,处理器920被配置为:获取用户登录信息;将用户登录信息发送至服务器,服务器用于根据用户登录信息确定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;获取服务器提供的用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现应用程序的至少一个功能。
存储器904被配置为存储各种类型的数据以支持在装置90的操作,用于存储处理器920可执行指令。这些数据的示例包括用于在装置90上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件906为装置90的各种组件提供电力。电源组件906可以包括电源管理系统,一个或多个电源,及其他与为装置90生成、管理和分配电力相关联的组件。
多媒体组件908包括在装置90和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当装置90处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当装置90处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。
I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件914包括一个或多个传感器,用于为装置90提供各个方面的状态评估。例如,传感器组件914可以检测到装置90的打开/关闭状态,组件的相对定位,例如该组件为装置90的显示器和小键盘,传感器组件914还可以检测装置90或装置90一个组件的位置改变,用户与装置90接触的存在或不存在,装置90方位或加速/减速和装置90的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件916被配置为便于装置90和其他设备之间有线或无线方式的通信。装置90可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,该通信组件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置90可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述应用程序提供方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由装置90的处理器920执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当存储介质中的指令由装置90的处理器执行时,使得装置90能够执行一种应用程序提供方法。
图20是根据又一示例性实施例示出的再一种应用程序提供装置100的框图,该应用程序提供装置100可以为服务器。参照图20,装置100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1001(例如,一个或一个以上处理器)和用于存储处理器1001可执行指令的1002,一个或一个以上存储应用程序1003或数据1004的存储介质1005(例如一个或一个以上海量存储设备)。其中,存储器1002和存储介质1005可以是短暂存储或持久存储。存储在存储介质1005的程序可以包括一个或一个以上模块(图16中未标示),每个模块可以包括对终端设备100中的一系列指令操作。更进一步地,处理器1001可以设置为与存储介质1005通信,在终端设备100上执行存储介质1005中的一系列指令操作。其中,处理器1001被配置为执行指令,以执行上述的应用程序提供方法。
装置100还可以包括一个或一个以上电源1006,一个或一个以上有线或无线网络接口1007,一个或一个以上输入输出接口1008,一个或一个以上键盘1009,和/或,一个或一个以上操作系统1010,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (25)

1.一种应用程序提供方法,其特征在于,所述方法包括:
获取用户登录信息;
将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能;
所述获取所述服务器提供的所述用户有权使用的插件,包括:
接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件的信息;
为所述服务器发送的插件列表中每个插件设置相应的插件接口;
如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
或者,接收所述服务器推送的所述用户有权使用的全部或部分插件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在下载某一插件之前,从所述服务器获取所述插件的最新版本号;
检测所述客户端是否支持所述最新版本号的插件的运行;
如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
对于已获取到本地的插件中的任一插件,从所述服务器获取所述插件的同步信息;
根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
4.根据权利要求3所述的方法,其特征在于,所述根据所述同步信息对所述插件进行使用权限和/或使用版本的同步,包括:
若所述同步信息指示所述用户已无权使用所述插件,则删除所述插件的相关内容;
若所述同步信息指示所述插件已经失效,则删除所述插件的相关内容;
若所述同步信息指示的所述插件的最新版本号高于本地的当前版本号,则下载并更新所述插件;
若所述同步信息指示的所述插件的最新版本号等于本地的当前版本号,则保持所述插件。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
从所述服务器获取所述客户端的最新版本号;
检测所述客户端的最新版本号是否高于当前版本号,所述客户端用于提供所述插件的运行环境;
如果所述客户端的最新版本号高于当前版本号,则从所述服务器下载并安装所述最新版本号对应的客户端。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在获取到任一插件后,通过与所述服务器约定的解密方式对所述插件进行解密。
7.一种应用程序提供方法,其特征在于,所述方法包括:
接收终端发送的用户登录信息;
根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能;
所述向所述终端提供所述用户有权使用的插件,包括:
向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信息;所述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
向所述终端提供所述插件的下载;
或者,向所述终端推送所述用户有权使用的全部或部分插件。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在接收所述终端发送的某一插件的版本号获取请求后,向所述终端提供所述插件的最新版本号,所述终端用于检测所述客户端是否支持所述最新版本号的插件的运行,如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
对于已获取到所述终端的插件中的任一插件,向所述终端提供所述插件的同步信息,所述终端用于根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
10.根据权利要求7或8任一所述的方法,其特征在于,所述方法还包括:
向所述终端提供所述客户端的最新版本号,所述终端用于检测所述客户端的最新版本号是否高于当前版本号,如果所述客户端的最新版本号高于当前版本号,则从所述服务器下载并安装所述最新版本号对应的客户端;
向所述终端提供所述客户端的下载。
11.根据权利要求7或8任一所述的方法,其特征在于,所述方法还包括:
在提供任一插件的下载之前,通过与所述客户端约定的加密方式对所述插件进行加密。
12.一种应用程序提供装置,其特征在于,包括:
第一获取单元,被设置为获取用户登录信息;
发送单元,被设置为将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
第二获取单元,被设置为获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能;
所述第二获取单元,被设置为:
接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件的信息;
为所述服务器发送的插件列表中每个插件设置相应的插件接口;
如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
或者,接收所述服务器推送的所述用户有权使用的全部或部分插件。
13.根据权利要求12所述的应用程序提供装置,其特征在于,所述应用程序提供装置还包括:
第三获取单元,被设置为在下载某一插件之前,从所述服务器获取所述插件的最新版本号;
第一检测单元,被设置为检测所述客户端是否支持所述最新版本号的插件的运行;
处理单元,被设置为在所述客户端不支持所述最新版本号的插件的运行时,不下载所述插件。
14.根据权利要求12或13所述的应用程序提供装置,其特征在于,所述应用程序提供装置,还包括:
第四获取单元,被设置为对于已获取到本地的插件中的任一插件,从所述服务器获取所述插件的同步信息;
同步单元,被设置为根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
15.根据权利要求14所述的应用程序提供装置,其特征在于,所述同步单元,被设置为:
若所述同步信息指示所述用户已无权使用所述插件,则删除所述插件的相关内容;
若所述同步信息指示所述插件已经失效,则删除所述插件的相关内容;
若所述同步信息指示的所述插件的最新版本号高于本地的当前版本号,则下载并更新所述插件;
若所述同步信息指示的所述插件的最新版本号等于本地的当前版本号,则保持所述插件。
16.根据权利要求12或13所述的应用程序提供装置,其特征在于,所述应用程序提供装置还包括:
第五获取单元,被设置为从所述服务器获取所述客户端的最新版本号;
第二检测单元,被设置为检测所述客户端的最新版本号是否高于当前版本号,所述客户端用于提供插件的运行环境;
下载单元,被设置为在所述客户端的最新版本号高于当前版本号时,从所述服务器下载并安装所述最新版本号对应的客户端。
17.根据权利要求12或13所述的应用程序提供装置,其特征在于,所述应用程序提供装置还包括:
解密单元,被设置为在获取到任一插件后,通过与所述服务器约定的解密方式对所述插件进行解密。
18.一种应用程序提供装置,其特征在于,包括:
接收单元,被设置为接收终端发送的用户登录信息;
确定单元,被设置为根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
第一提供单元,被设置为向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能;
所述第一提供单元,被设置为:
向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信息;所述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
向所述终端提供所述插件的下载;
或者,向所述终端推送所述用户有权使用的全部或部分插件。
19.根据权利要求18所述的应用程序提供装置,其特征在于,所述应用程序提供装置还包括:
第二提供单元,被设置为在接收所述终端发送的某一插件的版本号获取请求后,向所述终端提供所述插件的最新版本号,所述终端用于检测所述客户端是否支持所述最新版本号的插件的运行,如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
20.根据权利要求18或19所述的应用程序提供装置,其特征在于,所述应用程序提供装置还包括:
第三提供单元,被设置为对于已获取到所述终端的插件中的任一插件,向所述终端提供所述插件的同步信息,所述终端用于根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
21.根据权利要求18或19所述的应用程序提供装置,其特征在于,所述应用程序提供装置还包括:
第四提供单元,被设置为向所述终端提供所述客户端的最新版本号,所述终端用于检测所述客户端的最新版本号是否高于当前版本号,如果所述客户端的最新版本号高于当前版本号,则从所述服务器下载并安装所述最新版本号对应的客户端;
第五提供单元,被设置为向所述终端提供所述客户端的下载。
22.根据权利要求18或19所述的应用程序提供装置,其特征在于,所述应用程序提供装置还包括:
解密单元,被设置为在提供任一插件的下载之前,通过与所述客户端约定的加密方式对所述插件进行加密。
23.一种应用程序提供系统,其特征在于,包括:
权利要求12至17任一权利要求所述的应用程序提供装置;
以及权利要求18至22任一权利要求所述的应用程序提供装置。
24.一种应用程序提供装置,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取用户登录信息;
将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能;
所述获取所述服务器提供的所述用户有权使用的插件,包括:
接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件的信息;
为所述服务器发送的插件列表中每个插件设置相应的插件接口;
如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
或者,接收所述服务器推送的所述用户有权使用的全部或部分插件。
25.一种应用程序提供装置,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收终端发送的用户登录信息;
根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能;
所述向所述终端提供所述用户有权使用的插件,包括:
向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信息;所述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
向所述终端提供所述插件的下载;
或者,向所述终端推送所述用户有权使用的全部或部分插件。
CN201410276549.3A 2014-06-19 2014-06-19 应用程序提供方法、装置及系统 Active CN104090785B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410276549.3A CN104090785B (zh) 2014-06-19 2014-06-19 应用程序提供方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410276549.3A CN104090785B (zh) 2014-06-19 2014-06-19 应用程序提供方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104090785A CN104090785A (zh) 2014-10-08
CN104090785B true CN104090785B (zh) 2017-12-29

Family

ID=51638504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410276549.3A Active CN104090785B (zh) 2014-06-19 2014-06-19 应用程序提供方法、装置及系统

Country Status (1)

Country Link
CN (1) CN104090785B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598266A (zh) * 2014-12-11 2015-05-06 百度在线网络技术(北京)有限公司 客户端应用业务逻辑更新方法、装置及设备
CN106293778B (zh) * 2015-05-11 2021-03-02 腾讯科技(深圳)有限公司 应用程序安装包的打包方法及装置
CN105204812B (zh) * 2015-09-29 2018-06-12 中国舰船研究设计中心 一种基于插件的多界面显控系统及其集成方法
CN105337768A (zh) * 2015-10-16 2016-02-17 中国舰船研究设计中心 一种应用级分布系统综合集成方法
CN106055330A (zh) * 2016-05-31 2016-10-26 深圳卡尔拓客科技有限公司 一种应用程序的管理方法及系统
CN106657385A (zh) * 2017-01-12 2017-05-10 深圳云创享网络有限公司 插件调用、管理方法、客户端及管理服务器
CN108965366B (zh) * 2017-07-20 2021-06-11 视联动力信息技术股份有限公司 一种版本信息的查询方法和装置
CN107704259A (zh) * 2017-10-27 2018-02-16 北京小米移动软件有限公司 应用升级方法、装置及存储介质
CN108345632B (zh) * 2017-12-29 2020-12-11 中国平安财产保险股份有限公司 H5页面的调用方法、装置、设备及计算机可读存储介质
CN109194625B (zh) * 2018-08-10 2021-06-11 厦门市美亚柏科信息股份有限公司 一种基于云端服务器的客户端应用保护方法、装置及存储介质
US10581611B1 (en) * 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CN112286586B (zh) * 2019-07-12 2024-02-27 腾讯科技(深圳)有限公司 一种插件的配置方法及相关设备
CN112748925A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 利用标签解析前端代码的方法、装置和设备
CN111124420B (zh) * 2019-12-19 2023-06-20 北京百度网讯科技有限公司 编译方法、装置、电子设备及可读存储介质
CN111190791A (zh) * 2019-12-20 2020-05-22 北京你财富计算机科技有限公司 应用异常上报方法、装置和电子设备
CN113778473A (zh) * 2020-06-10 2021-12-10 北京沃东天骏信息技术有限公司 基于功能配置信息的应用处理方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334144B1 (en) * 1998-01-20 2001-12-25 Compuware Corporation System and method to expedite the transfer of data within a network by sending request for source information to server through a slow-speed data transfer facility and downloading data to user through a fast-speed data transfer facility
CN101625649A (zh) * 2009-08-17 2010-01-13 中兴通讯股份有限公司 一种软件的加载方法及装置
CN102025778A (zh) * 2010-11-25 2011-04-20 成都勤智数码科技有限公司 一种基于Shell的软件版本升级工作方法
CN102281265A (zh) * 2011-04-06 2011-12-14 苏州阔地网络科技有限公司 一种实现列表认证同步的方法及系统
CN103399792A (zh) * 2013-07-24 2013-11-20 佳都新太科技股份有限公司 基于Android的应用插件化实现方案
US8646100B2 (en) * 2011-06-03 2014-02-04 Apple Inc. Method for executing an application in a restricted operating environment
CN103593195A (zh) * 2013-11-22 2014-02-19 安一恒通(北京)科技有限公司 一种个性化软件的定制方法和装置
CN103870306A (zh) * 2014-02-21 2014-06-18 北京奇虎科技有限公司 基于智能终端设备安装应用程序的方法与装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334144B1 (en) * 1998-01-20 2001-12-25 Compuware Corporation System and method to expedite the transfer of data within a network by sending request for source information to server through a slow-speed data transfer facility and downloading data to user through a fast-speed data transfer facility
CN101625649A (zh) * 2009-08-17 2010-01-13 中兴通讯股份有限公司 一种软件的加载方法及装置
CN102025778A (zh) * 2010-11-25 2011-04-20 成都勤智数码科技有限公司 一种基于Shell的软件版本升级工作方法
CN102281265A (zh) * 2011-04-06 2011-12-14 苏州阔地网络科技有限公司 一种实现列表认证同步的方法及系统
US8646100B2 (en) * 2011-06-03 2014-02-04 Apple Inc. Method for executing an application in a restricted operating environment
CN103399792A (zh) * 2013-07-24 2013-11-20 佳都新太科技股份有限公司 基于Android的应用插件化实现方案
CN103593195A (zh) * 2013-11-22 2014-02-19 安一恒通(北京)科技有限公司 一种个性化软件的定制方法和装置
CN103870306A (zh) * 2014-02-21 2014-06-18 北京奇虎科技有限公司 基于智能终端设备安装应用程序的方法与装置

Also Published As

Publication number Publication date
CN104090785A (zh) 2014-10-08

Similar Documents

Publication Publication Date Title
CN104090785B (zh) 应用程序提供方法、装置及系统
KR102395799B1 (ko) 메신저 서비스를 제공하는 장치 및 방법
CN106415501B (zh) 用于活动协作的配套应用程序
EP3276910B1 (en) Bluetooth-based identity recognition method and device
CN105512545B (zh) 访问权限管理方法和装置
CN107750466A (zh) 使用经同步的提示信号配对附近设备
CN105553963B (zh) 定位服务的控制方法和装置
CN106209800B (zh) 设备权限共享方法和装置
CN106688224A (zh) 存储应用数据及设备之间传送应用数据
CN105607926A (zh) 应用图标的更新方法及装置、电子设备和服务器
CN104009837B (zh) 密钥更新方法、装置及终端
KR102421657B1 (ko) 도어가드를 제어하는 방법, 장치 및 매체
EP2940977B1 (en) Method and device for sending information in voice service
CN105117207A (zh) 相册创建方法及装置
CN109558042A (zh) 显示主题皮肤的方法、装置及计算机可读存储介质
EP3016349A1 (en) Method and apparatus for verifying terminal and computer program product
CN107357613A (zh) 应用更新方法、装置及计算机可读存储介质
CN104253852A (zh) 使用嵌入式设备在朋友与家人之间的移动设备之间共享数字信息的系统和方法
CN104038537A (zh) 通信录信息的管理方法、装置及移动终端
CN104125267A (zh) 账号保护方法、装置及终端设备
CN107423146A (zh) 控制应用程序相互调用的方法、装置及系统
CN105282162A (zh) 账号管理业务的处理方法及装置
CN103902688A (zh) 一种文件操作的同步方法及装置
CN115706966A (zh) 连接网络的方法、装置及可读存储介质
CN106709284A (zh) 刷机包验证方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant