应用程序提供方法、装置及系统的制作方法
【专利摘要】本公开是关于一种应用程序提供方法、装置及系统,属于数据保护领域。所述方法包括:获取用户登录信息;将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。本公开实现了提高源代码的安全性的效果。本公开解决了源代码安全性低的问题。本公开用于应用程序的提供。
【专利说明】应用程序提供方法、装置及系统
【技术领域】
[0001] 本公开涉及数据保护领域,特别涉及一种应用程序提供方法、装置及系统。
【背景技术】
[0002] 源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文 件。源代码编译成应用程序后才能运行。
[0003] 相关技术中,服务器通常将应用程序以整包下载或推送的方式提供给用户。用户 在获取了应用程序后,将应用程序安装在终端上就可以使用。但是一些恶意用户,通过将应 用程序反向编译能够得到源代码。
[0004] 但是,由于服务器直接将应用程序提供给用户,对源代码未加以保护,使得恶意用 户可以轻易地查看或修改应用程序的源代码,导致很多源代码被盗用,甚至产生通过源代 码进行服务器攻击等恶意行为。因此相关技术中,存在源代码安全性低的问题。
【发明内容】
[0005] 为了解决源代码安全性低的问题,本公开实施例提供了一种应用程序提供方法、 装置及系统。所述技术方案如下:
[0006] 第一方面,提供了一种应用程序提供方法,所述方法包括:
[0007] 获取用户登录信息;
[0008] 将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定 用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的 不同代码段中的一个代码段进行编译得到的功能组件;
[0009] 获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提 供的运行环境运行后实现所述应用程序的至少一个功能。
[0010] 可选地,所述获取所述服务器提供的所述用户有权使用的插件,包括:
[0011] 接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件 的信息;
[0012] 为所述服务器发送的插件列表中每个插件设置相应的插件接口;
[0013] 如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述 服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件 接口所对应的插件。
[0014] 可选地,在下载某一插件之前,从所述服务器获取所述插件的最新版本号;
[0015] 检测所述客户端是否支持所述最新版本号的插件的运行;
[0016] 如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
[0017] 可选地,所述获取所述服务器提供的所述用户有权使用的插件,包括:
[0018] 接收所述服务器推送的所述用户有权使用的全部或部分插件。
[0019] 可选地,所述方法还包括:
[0020] 对于已获取到本地的插件中的任一插件,从所述服务器获取所述插件的同步信 息;
[0021] 根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
[0022] 可选地,所述根据所述同步信息对所述插件进行使用权限和/或使用版本的同 步,包括:
[0023] 若所述同步信息指示所述用户已无权使用所述插件,则删除所述插件的相关内 容;
[0024] 若所述同步信息指示所述插件已经失效,则删除所述插件的相关内容;
[0025] 若所述同步信息指示的所述插件的最新版本号高于本地的当前版本号,则下载并 更新所述插件;
[0026] 若所述同步信息指示的所述插件的最新版本号等于本地的当前版本号,则保持所 述插件。
[0027] 可选地,所述方法还包括:
[0028] 从所述服务器获取所述客户端的最新版本号;
[0029] 检测所述客户端的最新版本号是否高于当前版本号,所述客户端用于提供插件的 运行环境;
[0030] 如果所述客户端的最新版本号高于当前版本号,则从所述服务器下载并安装所述 最新版本号对应的客户端。
[0031] 可选地,所述方法还包括:
[0032] 在获取到任一插件后,通过与所述服务器约定的解密方式对所述插件进行解密。
[0033] 第二方面,提供了一种应用程序提供方法,所述方法包括:
[0034] 接收终端发送的用户登录信息;
[0035] 根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程 序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组 件;
[0036] 向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运 行环境运行后实现所述应用程序的至少一个功能。
[0037] 可选地,所述向所述终端提供所述用户有权使用的插件,包括:
[0038] 向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信 息;所述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口 中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对 应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
[0039] 向所述终端提供所述插件的下载。
[0040] 可选地,所述方法还包括:
[0041] 在接收所述终端发送的某一插件的版本号获取请求后,向所述终端提供所述插件 的最新版本号,所述终端用于检测所述客户端是否支持所述最新版本号的插件的运行,如 果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
[0042] 可选地,所述向所述终端提供所述用户有权使用的插件,包括:
[0043] 向所述终端推送所述用户有权使用的全部或部分插件。
[0044] 可选地,所述方法还包括:
[0045] 对于已获取到所述终端的插件中的任一插件,向所述终端提供所述插件的同步信 息,所述终端用于根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
[0046] 可选地,所述方法还包括:
[0047] 向所述终端提供所述客户端的最新版本号,所述终端用于检测所述客户端的最新 版本号是否高于当前版本号,如果所述客户端的最新版本号高于当前版本号,则从所述服 务器下载并安装所述最新版本号对应的客户端;
[0048] 向所述终端提供所述客户端的下载。
[0049] 可选地,所述方法还包括:
[0050] 在提供任一插件的下载之前,通过与所述客户端约定的加密方式对所述插件进行 加密。
[0051] 第三方面,提供了一种应用程序提供装置,包括:
[0052] 第一获取单元,被设置为获取用户登录信息;
[0053] 发送单元,被设置为将所述用户登录信息发送至服务器,所述服务器用于根据所 述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照 预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件;
[0054] 第二获取单元,被设置为获取所述服务器提供的所述用户有权使用的插件,每个 插件用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
[0055] 可选地,所述第二获取单元,被设置为:
[0056] 接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件 的信息;
[0057] 为所述服务器发送的插件列表中每个插件设置相应的插件接口;
[0058] 如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述 服务器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件 接口所对应的插件。
[0059] 可选地,所述应用程序提供装置还包括:
[0060] 第三获取单元,被设置为在下载某一插件之前,从所述服务器获取所述插件的最 新版本号;
[0061] 第一检测单元,被设置为检测所述客户端是否支持所述最新版本号的插件的运 行;
[0062] 处理单元,被设置为在所述客户端不支持所述最新版本号的插件的运行时,不下 载所述插件。
[0063] 可选地,所述第二获取单元,被设置为接收所述服务器推送的所述用户有权使用 的全部或部分插件。
[0064] 可选地,所述应用程序提供装置还包括:
[0065] 第四获取单元,被设置为对于已获取到本地的插件中的任一插件,从所述服务器 获取所述插件的同步信息;
[0066] 同步单元,被设置为根据所述同步信息对所述插件进行使用权限和/或使用版本 的同步。
[0067] 可选地,所述同步单元,被设置为:
[0068] 若所述同步信息指示所述用户已无权使用所述插件,则删除所述插件的相关内 容;
[0069] 若所述同步信息指示所述插件已经失效,则删除所述插件的相关内容;
[0070] 若所述同步信息指示的所述插件的最新版本号高于本地的当前版本号,则下载并 更新所述插件;
[0071] 若所述同步信息指示的所述插件的最新版本号等于本地的当前版本号,则保持所 述插件;
[0072] 若所述同步信息指示所述用户有权使用所述插件且本地不存在所述插件,则下载 所述插件。
[0073] 可选地,所述应用程序提供装置还包括:
[0074] 第五获取单元,被设置为从所述服务器获取所述客户端的最新版本号;
[0075] 第二检测单元,被设置为检测所述客户端的最新版本号是否高于当前版本号,所 述客户端用于提供插件的运行环境;
[0076] 下载单元,被设置为在所述客户端的最新版本号高于当前版本号时,从所述服务 器下载并安装所述最新版本号对应的客户端。
[0077] 可选地,所述应用程序提供装置还包括:
[0078] 解密单元,被设置为在获取到任一插件后,通过与所述服务器约定的解密方式对 所述插件进行解密。
[0079] 第四方面,提供了一种应用程序提供装置,包括:
[0080] 接收单元,被设置为接收终端发送的用户登录信息;
[0081] 确定单元,被设置为根据所述用户登录信息确定用户有权使用的插件,所述插件 包括:将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行 编译得到的功能组件;
[0082] 第一提供单元,被设置为向所述终端提供所述用户有权使用的插件,每个插件用 于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
[0083] 可选地,所述第一提供单元被设置为:
[0084] 向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信 息;所述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口 中检测到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对 应的插件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件;
[0085] 向所述终端提供所述插件的下载。
[0086] 可选地,所述应用程序提供装置还包括:
[0087] 第二提供单元,被设置为在接收所述终端发送的某一插件的版本号获取请求后, 向所述终端提供所述插件的最新版本号,所述终端用于检测所述客户端是否支持所述最新 版本号的插件的运行,如果所述客户端不支持所述最新版本号的插件的运行,则不下载所 述插件。
[0088] 可选地,所述第一提供单元,被设置为:
[0089] 向所述终端推送所述用户有权使用的全部或部分插件。
[0090] 可选地,所述应用程序提供装置还包括:
[0091] 第三提供单元,被设置为对于已获取到所述终端的插件中的任一插件,向所述终 端提供所述插件的同步信息,所述终端用于根据所述同步信息对所述插件进行使用权限和 /或使用版本的同步。
[0092] 可选地,所述应用程序提供装置还包括:
[0093] 第四提供单元,被设置为向所述终端提供所述客户端的最新版本号,所述终端用 于检测所述客户端的最新版本号是否高于当前版本号,如果所述客户端的最新版本号高于 当前版本号,则从所述服务器下载并安装所述最新版本号对应的客户端;
[0094] 第五提供单元,被设置为向所述终端提供所述客户端的下载。
[0095] 可选地,所述应用程序提供装置还包括:
[0096] 解密单元,被设置为在提供任一插件的下载之前,通过与所述客户端约定的加密 方式对所述插件进行加密。
[0097] 第五方面,提供了一种应用程序提供系统,包括:
[0098] 以上第三方面中任一所述的应用程序提供装置;
[0099] 以及以上第四方面中任一所述的应用程序提供装置。
[0100] 第六方面,提供了一种应用程序提供装置,包括:
[0101] 处理器;
[0102] 用于存储所述处理器可执行指令的存储器;
[0103] 其中,所述处理器被配置为:
[0104] 获取用户登录信息;
[0105] 将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定 用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的 不同代码段中的一个代码段进行编译得到的功能组件;
[0106] 获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提 供的运行环境运行后实现所述应用程序的至少一个功能。
[0107] 第七方面,提供了一种应用程序提供装置,包括:
[0108] 处理器;
[0109] 用于存储所述处理器可执行指令的存储器;
[0110] 其中,所述处理器被配置为:
[0111] 接收终端发送的用户登录信息;
[0112] 根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程 序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组 件;
[0113] 向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运 行环境运行后实现所述应用程序的至少一个功能。
[0114] 本公开的实施例提供的技术方案可以包括以下有益效果:
[0115] 本公开提供的应用程序提供方法、装置及系统,通过把应用程序以插件的形式结 合用户权限提供给终端,使终端获取到与用户权限对应的部分版本的应用程序,尽量避免 将完整版本的应用程序提供给终端,降低了用户获取源代码的概率,因此提高了源代码的 安全性。
[0116] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不 能限制本公开。
【专利附图】
【附图说明】
[0117] 为了更清楚地说明本公开的实施例,下面将对实施例描述中所需要使用的附图作 简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通 技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0118] 图1是根据一示例性实施例示出的一种应用程序提供方法的方法流程图。
[0119] 图2A是根据另一示例性实施例示出的一种应用程序提供方法的方法流程图。
[0120] 图2B是根据另一示例性实施例示出的一种应用程序提供方法的原理示意图。
[0121] 图3是根据一示例性实施例示出的一种应用程序提供方法的信息交互图。
[0122] 图4是根据一示例性实施例示出的一种登录界面图。
[0123] 图5是根据一示例性实施例示出的一种终端从下载服务器下载插件的方法流程 图。
[0124] 图6是根据一示例性实施例示出的一种终端界面图。
[0125] 图7是根据一示例性实施例示出的另一种终端界面图。
[0126] 图8是根据一示例性实施例示出的一种应用程序提供装置的结构示意图。
[0127] 图9是根据一示例性实施例示出的另一种应用程序提供装置的结构示意图。
[0128] 图10是根据一示例性实施例示出的又一种应用程序提供装置的结构示意图。
[0129] 图11是根据一示例性实施例示出的再一种应用程序提供装置的结构示意图。
[0130] 图12是根据另一示例性实施例示出的一种应用程序提供装置的结构示意图。
[0131] 图13是根据另一示例性实施例示出的另一种应用程序提供装置的结构示意图。
[0132] 图14是根据另一示例性实施例示出的又一种应用程序提供装置的结构示意图。
[0133] 图15是根据另一示例性实施例示出的再一种应用程序提供装置的结构示意图。
[0134] 图16是根据又一示例性实施例示出的一种应用程序提供装置的结构示意图。
[0135] 图17是根据又一示例性实施例示出的另一种应用程序提供装置的结构示意图。
[0136] 图18是根据一示例性实施例示出的一种应用程序提供系统的结构示意图。
[0137] 图19是根据又一示例性实施例示出的又一种应用程序提供装置的结构示意图。
[0138] 图20是根据又一示例性实施例示出的再一种应用程序提供装置的结构示意图。
[0139] 通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图 和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为 本领域技术人员说明本公开的概念。
【具体实施方式】
[0140] 为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进 一步地详细描述,显然,所描述的实施例仅仅是本公开一部份实施例,而不是全部的实施 例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其它实施例,都属于本公开保护的范围。
[0141] 图1是根据一示例性实施例示出的一种应用程序提供方法的方法流程图。本实施 例以该应用程序提供方法应用于终端来举例说明。该方法包括如下几个步骤:
[0142] 在步骤101中,获取用户登录信息。
[0143] 在步骤102中,将用户登录信息发送至服务器,服务器用于根据用户登录信息确 定用户有权使用的插件,插件包括:将一个应用程序的源代码按照预设规则划分得到的不 同代码段中的一个代码段进行编译得到的功能组件。
[0144] 在步骤103中,获取服务器提供的用户有权使用的插件,每个插件用于在基于客 户端提供的运行环境运行后实现应用程序的至少一个功能。
[0145] 综上所述,本实施例提供的应用程序提供方法,通过把应用程序以插件的形式结 合用户权限提供给终端,使终端获取到与用户权限对应的部分版本的应用程序,避免将完 整版本的应用程序提供给终端,降低了用户获取源代码的概率,因此提高了源代码的安全 性。
[0146] 图2A是根据另一示例性实施例示出的一种应用程序提供方法的方法流程图,本 实施例以该应用程序提供方法应用服务器中来举例说明。该方法包括如下几个步骤:
[0147] 在步骤201中,接收终端发送的用户登录信息。
[0148] 在步骤202中,根据用户登录信息确定用户有权使用的插件,插件包括:将一个应 用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功 能组件。
[0149] 在步骤203中,向终端提供用户有权使用的插件,每个插件用于在基于客户端提 供的运行环境运行后实现应用程序的至少一个功能。
[0150] 综上所述,本实施例提供的应用程序提供方法,通过把应用程序以插件的形式结 合用户权限提供给终端,使终端获取到与用户权限对应的部分版本的应用程序,避免将完 整版本的应用程序提供给终端,降低了用户获取源代码的概率,因此提高了源代码的安全 性。
[0151] 为了更形象的说明图2A所示的实施例,请参考图2B,其示出了图2A实施例的原理 示意图。一个完整版本的应用程序42的源代码被预先划分为客户端和插件两部分。其中, 客户端提供插件在运行时的运行环境,而至少一个插件中的每个插件则用于实现应用程序 42的至少一个功能,比如图中以6个插件为例。每个插件是应用程序42按照预设规则划分 得到的不同代码段中的一个代码段进行编译得到的功能组件。
[0152] 在一个用户需要使用该应用程序42时,终端20会将用户登录信息发送给服务器 40。服务器40根据用户登录信息确定该用户有权使用的插件,然后把该用户有权使用的插 件反馈给终端20。终端20获取到的应用程序22为部分版本的应用程序。也即,终端20在 用户权限不是最高级权限时,只能获取到部分版本的应用程序,而无法获取到完整版本的 应用程序。即便终端20的用户对获取到的插件进行反向编译,也仅能够得到一小部分源代 码,无法得到应用程序的完整源代码,有效保证了源代码的安全性。
[0153] 图3是根据一示例性实施例示出的一种应用程序提供方法的信息交互图。本实施 例以该应用程序提供方法应用于终端和服务器中来举例说明。该应用程序提供方法包括如 下几个步骤:
[0154] 在步骤301中,终端从服务器下载客户端。
[0155] 当用户希望获取一个应用程序时,终端接收用户的安装包下载指令。终端可以向 服务器发送安装包下载请求,该安装包下载请求可以包括终端标识,如终端的IPdnternet Protocol,互联网协议)地址,和客户端标识。服务器根据客户端标识确定相应的客户端的 安装包,将该安装包发送至该终端标识所对应的终端。终端在接收到用户触发的安装指令 后安装该安装包,并在安装包安装完成后在终端的用户界面显示客户端接口,该客户端接 口可以是图标或弹窗等等。
[0156] 在步骤302中,终端运行客户端。
[0157] 终端对客户端接口进行监测,当在该客户端接口接收到用户触发的客户端运行指 令时,运行该客户端。
[0158] 如果客户端被设置为开机自启状态,终端也可以在每次终端开机时,运行该客户 端。
[0159] 在运行客户端后,客户端会通过用户界面向用户提供登录界面,该登录界面可以 如图4所示,用于提示用户填写用户登录信息。
[0160] 在步骤303中,终端获取用户登录信息。
[0161] 终端可以在如图4所示的登录界面获取用户输入的用户登录信息,或者根据用户 预先设置的方式获取用户登录信息。
[0162] 该用户登录信息包括用户标识,该用户标识可以是用户名和密码;该用户标识还 可以是手机号码。
[0163] 在步骤304中,终端将用户登录信息发送至服务器。
[0164] 在步骤305中,服务器根据用户登录信息确定用户有权使用的插件。
[0165] 服务器中存储多个插件,该插件包括:将一个应用程序的源代码按照预设规则划 分得到的不同代码段中的一个代码段进行编译得到的功能组件。
[0166] 服务器可以根据预设划分规则划分用户权限,然后根据该用户权限建立用户标识 与插件的对应关系,并实时更新该用户标识与插件的对应关系。
[0167] 实际应用中,该用户标识与插件的对应关系可以以表格或图形形式表现出来,月艮 务器根据该用户标识在该用户标识与插件的对应关系查询得到该用户标识对应的插件作 为该用户有权使用的插件。
[0168] 示例的,该用户与插件的对应关系可以以插件查询表的形式表现出来,服务器中 维护的插件查询表可以如表1所示。不同用户标识可以对应不同的插件,假设服务器获取 的用户登录信息中用户标识为张三,根据表1可以查询得到张三对应的插件标识为A,则可 以获取插件A。需要说明的是,用户标识与插件的对应关系可以包括用户组与插件的对应 关系,每个用户组包括至少一个用户标识,示例的,表1中的赵六和李七即可组成一个用户 组,该用户组对应的插件为插件A、B和C。
[0169] 表 1
[0170]
【权利要求】
1. 一种应用程序提供方法,其特征在于,所述方法包括: 获取用户登录信息; 将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户 有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同 代码段中的一个代码段进行编译得到的功能组件; 获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的 运行环境运行后实现所述应用程序的至少一个功能。
2. 根据权利要求1所述的方法,其特征在于,所述获取所述服务器提供的所述用户有 权使用的插件,包括: 接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件的信 息; 为所述服务器发送的插件列表中每个插件设置相应的插件接口; 如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务 器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口 所对应的插件。
3. 根据权利要求2所述的方法,其特征在于,所述方法还包括: 在下载某一插件之前,从所述服务器获取所述插件的最新版本号; 检测所述客户端是否支持所述最新版本号的插件的运行; 如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
4. 根据权利要求1所述的方法,其特征在于,所述获取所述服务器提供的所述用户有 权使用的插件,包括: 接收所述服务器推送的所述用户有权使用的全部或部分插件。
5. 根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括: 对于已获取到本地的插件中的任一插件,从所述服务器获取所述插件的同步信息; 根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
6. 根据权利要求5所述的方法,其特征在于,所述根据所述同步信息对所述插件进行 使用权限和/或使用版本的同步,包括: 若所述同步信息指示所述用户已无权使用所述插件,则删除所述插件的相关内容; 若所述同步信息指示所述插件已经失效,则删除所述插件的相关内容; 若所述同步信息指示的所述插件的最新版本号高于本地的当前版本号,则下载并更新 所述插件; 若所述同步信息指示的所述插件的最新版本号等于本地的当前版本号,则保持所述插 件。
7. 根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括: 从所述服务器获取所述客户端的最新版本号; 检测所述客户端的最新版本号是否高于当前版本号,所述客户端用于提供所述插件的 运行环境; 如果所述客户端的最新版本号高于当前版本号,则从所述服务器下载并安装所述最新 版本号对应的客户端。
8. 根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括: 在获取到任一插件后,通过与所述服务器约定的解密方式对所述插件进行解密。
9. 一种应用程序提供方法,其特征在于,所述方法包括: 接收终端发送的用户登录信息; 根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的 源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件; 向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环 境运行后实现所述应用程序的至少一个功能。
10. 根据权利要求9所述的方法,其特征在于,所述向所述终端提供所述用户有权使用 的插件,包括: 向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信息;所 述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口中检测 到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插 件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件; 向所述终端提供所述插件的下载。
11. 根据权利要求10所述的方法,其特征在于,所述方法还包括: 在接收所述终端发送的某一插件的版本号获取请求后,向所述终端提供所述插件的最 新版本号,所述终端用于检测所述客户端是否支持所述最新版本号的插件的运行,如果所 述客户端不支持所述最新版本号的插件的运行,则不下载所述插件。
12. 根据权利要求9所述的方法,其特征在于,所述向所述终端提供所述用户有权使用 的插件,包括: 向所述终端推送所述用户有权使用的全部或部分插件。
13. 根据权利要求9至12任一所述的方法,其特征在于,所述方法还包括: 对于已获取到所述终端的插件中的任一插件,向所述终端提供所述插件的同步信息, 所述终端用于根据所述同步信息对所述插件进行使用权限和/或使用版本的同步。
14. 根据权利要求9至12任一所述的方法,其特征在于,所述方法还包括: 向所述终端提供所述客户端的最新版本号,所述终端用于检测所述客户端的最新版本 号是否高于当前版本号,如果所述客户端的最新版本号高于当前版本号,则从所述服务器 下载并安装所述最新版本号对应的客户端; 向所述终端提供所述客户端的下载。
15. 根据权利要求9至12任一所述的方法,其特征在于,所述方法还包括: 在提供任一插件的下载之前,通过与所述客户端约定的加密方式对所述插件进行加 Γ t I ο
16. -种应用程序提供装置,其特征在于,包括: 第一获取单元,被设置为获取用户登录信息; 发送单元,被设置为将所述用户登录信息发送至服务器,所述服务器用于根据所述用 户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设 规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件; 第二获取单元,被设置为获取所述服务器提供的所述用户有权使用的插件,每个插件 用于在基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
17. 根据权利要求16所述的应用程序提供装置,其特征在于,所述第二获取单元,被设 置为: 接收所述服务器发送的插件列表,所述插件列表记录有所述用户有权使用的插件的信 息; 为所述服务器发送的插件列表中每个插件设置相应的插件接口; 如果在一个插件接口中检测到用户触发的下载信号,则根据所述下载信号在所述服务 器下载与所述插件接口对应的插件,或者,在网络情况优于预设条件时,下载每个插件接口 所对应的插件。
18. 根据权利要求17所述的应用程序提供装置,其特征在于,所述应用程序提供装置 还包括: 第三获取单元,被设置为在下载某一插件之前,从所述服务器获取所述插件的最新版 本号; 第一检测单元,被设置为检测所述客户端是否支持所述最新版本号的插件的运行; 处理单元,被设置为在所述客户端不支持所述最新版本号的插件的运行时,不下载所 述插件。
19. 根据权利要求16所述的应用程序提供装置,其特征在于,所述第二获取单元,被设 置为接收所述服务器推送的所述用户有权使用的全部或部分插件。
20. 根据权利要求16至19任一所述的应用程序提供装置,其特征在于,所述应用程序 提供装置,还包括: 第四获取单元,被设置为对于已获取到本地的插件中的任一插件,从所述服务器获取 所述插件的同步信息; 同步单元,被设置为根据所述同步信息对所述插件进行使用权限和/或使用版本的同 止 /J/ 〇
21. 根据权利要求20所述的应用程序提供装置,其特征在于,所述同步单元,被设置 为: 若所述同步信息指示所述用户已无权使用所述插件,则删除所述插件的相关内容; 若所述同步信息指示所述插件已经失效,则删除所述插件的相关内容; 若所述同步信息指示的所述插件的最新版本号高于本地的当前版本号,则下载并更新 所述插件; 若所述同步信息指示的所述插件的最新版本号等于本地的当前版本号,则保持所述插 件。
22. 根据权利要求16至19任一所述的应用程序提供装置,其特征在于,所述应用程序 提供装置还包括: 第五获取单元,被设置为从所述服务器获取所述客户端的最新版本号; 第二检测单元,被设置为检测所述客户端的最新版本号是否高于当前版本号,所述客 户端用于提供插件的运行环境; 下载单元,被设置为在所述客户端的最新版本号高于当前版本号时,从所述服务器下 载并安装所述最新版本号对应的客户端。
23. 根据权利要求16至19任一所述的应用程序提供装置,其特征在于,所述应用程序 提供装置还包括: 解密单元,被设置为在获取到任一插件后,通过与所述服务器约定的解密方式对所述 插件进行解密。
24. -种应用程序提供装置,其特征在于,包括: 接收单元,被设置为接收终端发送的用户登录信息; 确定单元,被设置为根据所述用户登录信息确定用户有权使用的插件,所述插件包括: 将一个应用程序的源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译 得到的功能组件; 第一提供单元,被设置为向所述终端提供所述用户有权使用的插件,每个插件用于在 基于客户端提供的运行环境运行后实现所述应用程序的至少一个功能。
25. 根据权利要求24所述的应用程序提供装置,其特征在于,所述第一提供单元,被设 置为: 向所述终端发送插件列表,所述插件列表记录有所述用户有权使用的插件的信息;所 述终端用于为所述插件列表中每个插件设置相应的插件接口,如果在一个插件接口中检测 到用户触发的下载信号,则根据所述下载信号在所述服务器下载与所述插件接口对应的插 件,或者,在网络情况优于预设条件时,下载每个插件接口所对应的插件; 向所述终端提供所述插件的下载。
26. 根据权利要求25所述的应用程序提供装置,其特征在于,所述应用程序提供装置 还包括: 第二提供单元,被设置为在接收所述终端发送的某一插件的版本号获取请求后,向所 述终端提供所述插件的最新版本号,所述终端用于检测所述客户端是否支持所述最新版本 号的插件的运行,如果所述客户端不支持所述最新版本号的插件的运行,则不下载所述插 件。
27. 根据权利要求24所述的应用程序提供装置,其特征在于,所述第一提供单元,被设 置为: 向所述终端推送所述用户有权使用的全部或部分插件。
28. 根据权利要求24至27任一所述的应用程序提供装置,其特征在于,所述应用程序 提供装置还包括: 第三提供单元,被设置为对于已获取到所述终端的插件中的任一插件,向所述终端提 供所述插件的同步信息,所述终端用于根据所述同步信息对所述插件进行使用权限和/或 使用版本的同步。
29. 根据权利要求24至27任一所述的应用程序提供装置,其特征在于,所述应用程序 提供装置还包括: 第四提供单元,被设置为向所述终端提供所述客户端的最新版本号,所述终端用于检 测所述客户端的最新版本号是否高于当前版本号,如果所述客户端的最新版本号高于当前 版本号,则从所述服务器下载并安装所述最新版本号对应的客户端; 第五提供单元,被设置为向所述终端提供所述客户端的下载。
30. 根据权利要求24至27任一所述的应用程序提供装置,其特征在于,所述应用程序 提供装置还包括: 解密单元,被设置为在提供任一插件的下载之前,通过与所述客户端约定的加密方式 对所述插件进行加密。
31. -种应用程序提供系统,其特征在于,包括: 权利要求16至23任一权利要求所述的应用程序提供装置; 以及权利要求24至30任一权利要求所述的应用程序提供装置。
32. -种应用程序提供装置,其特征在于,包括: 处理器; 用于存储所述处理器可执行指令的存储器; 其中,所述处理器被配置为: 获取用户登录信息; 将所述用户登录信息发送至服务器,所述服务器用于根据所述用户登录信息确定用户 有权使用的插件,所述插件包括:将一个应用程序的源代码按照预设规则划分得到的不同 代码段中的一个代码段进行编译得到的功能组件; 获取所述服务器提供的所述用户有权使用的插件,每个插件用于在基于客户端提供的 运行环境运行后实现所述应用程序的至少一个功能。
33. -种应用程序提供装置,其特征在于,包括: 处理器; 用于存储所述处理器可执行指令的存储器; 其中,所述处理器被配置为: 接收终端发送的用户登录信息; 根据所述用户登录信息确定用户有权使用的插件,所述插件包括:将一个应用程序的 源代码按照预设规则划分得到的不同代码段中的一个代码段进行编译得到的功能组件; 向所述终端提供所述用户有权使用的插件,每个插件用于在基于客户端提供的运行环 境运行后实现所述应用程序的至少一个功能。
【文档编号】H04L29/06GK104090785SQ201410276549
【公开日】2014年10月8日 申请日期:2014年6月19日 优先权日:2014年6月19日
【发明者】丁亮, 金亮, 李名进 申请人:小米科技有限责任公司