一种应用程序插件加载方法及装置与流程

文档序号:16151149发布日期:2018-12-05 17:40阅读:158来源:国知局

本申请涉及计算机技术领域,特别是涉及一种应用程序插件加载方法,以及,一种应用程序插件加载装置。



背景技术:

插件是一种电脑程序,遵循一定规范的应用程序接口编写出来,通过和应用程序(例如网页浏览器,电子邮件服务器等)的互动,用来替应用程序增加所需要的一些特定的功能。很多软件都有插件,最常见的有游戏、网页浏览器的插件和媒体播放器的插件。

应用程序支持插件使用的原因很多,主要包括:使得第三方的开发者可以对应用程序进行扩充、精简,或者将源代码从应用程序中分离出来,去除因软件使用权限而产生的不兼容。

例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,处理特定类型的文件。IE浏览器常见的插件如:Flash插件、RealPlayer插件、MMS插件、MIDI五线谱插件、ActiveX插件等等;再比如Winamp的DFX,也是插件。

现有技术中,一般将所有的插件打入应用程序的安装包内下发,计算机等硬件设备通过运行所述安装包,完成应用程序和插件的安装,此时所有插件已安装到本地,因此以后每次启动应用程序的时候,自动从本地加载所有已安装的插件。以浏览器程序为例,浏览器和插件是打包一起发布的,安装了该浏览器的客户端在每次启动浏览器程序时,插件程序会随着浏览器的启动自动加载。

上述这种将所有插件与应用程序一起打包发布的方式,当插件逐渐增多时,会导致应用程序的安装包逐渐变大,为安装包的下载和解压安装带来不便。而且,应用程序启动的同时加载所有插件,如果插件越来越多,会导致启动速度变慢,占用更多的资源,甚至影响用户对应用程序的使用体验。



技术实现要素:

本申请提供了一种应用程序插件加载方法及装置,以解决现有技术中插件全部部署在应用程序安装包中,带来安装包庞大、应用程序启动速度慢的问题。

为了解决上述问题,本申请公开了一种应用程序插件加载方法,包括:

在应用程序安装过程中,从应用程序安装包中提取该应用程序插件的描述信息,并保存到本地;

依据应用程序中插件的使用信息,匹配所述插件的描述信息,得出相匹配的插件;

根据所述插件描述信息,获取所述相匹配的插件,并加载该相匹配的插件。

其中,所述插件的描述信息包括:插件图标。

优选地,所述应用程序中插件的使用信息包括:通过点击插件图标产生的插件安装请求信息;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

接收点击插件图标产生的插件安装请求信息;

依据点击插件图标产生的插件安装请求信息,获取对应插件的图标;

将获得的插件图标与所述插件的描述信息中的插件图标相匹配。

优选地,所述应用程序中插件的使用信息包括:对插件所支持网络资源的请求使用信息;

且所述插件的描述信息进一步包括:插件用途描述信息;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

接收对插件所支持网络资源的请求使用信息;

依据插件所支持网络资源的请求使用信息,获取对应插件的用途信息;

将获得的插件用途信息与描述信息中的插件用途描述信息匹配。

优选地,所述应用程序中插件的使用信息包括:使用应用程序的用户所属的类别;

且所述插件的描述信息进一步包括:插件类型;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

获取登录用户的所属类别信息;

将登录用户的所属类别信息与描述信息中的插件类型匹配。

优选地,所述获取相匹配的插件步骤包括:在应用程序本地中获取相匹配的插件;或者

向插件下载服务器发送下载请求,从所述插件下载服务器获取相匹配的插件。

优选地,所述获取相匹配的插件之前,还包括:

从应用程序本地的插件地址列表中获取所述相匹配插件的地址:

如果所述插件的地址为本地存储地址,则在应用程序本地中获取相匹配的插件;

如果所述插件的地址为下载服务器的下载地址,则从所述插件下载服务器获取相匹配的插件。

优选地,所述插件用于显示网络资源或者优化所述网络资源。

本申请还提供了一种应用程序插件加载装置,包括:

应用程序安装模块,用于在应用程序安装过程中,从应用程序安装包中提取该应用程序插件的描述信息,并保存到本地;

插件匹配模块,用于依据应用程序中插件的使用信息,匹配所述插件的描述信息,得出相匹配的插件;

插件获取加载模块,用于根据所述插件描述信息,获取所述相匹配的插件,并加载该相匹配的插件。

其中,所述插件的描述信息包括:插件图标。

优选地,所述应用程序中插件的使用信息包括:通过点击插件图标产生的插件安装请求信息;

则所述插件匹配模块包括:

第一接收子模块,用于接收点击插件图标产生的插件安装请求信息;

第一获取子模块,用于依据点击插件图标产生的插件安装请求信,获取对应插件的图标;

第一匹配子模块,用于将获得的插件图标与所述插件的描述信息中的插件图标相匹配。

优选地,所述应用程序中插件的使用信息包括:对插件所支持网络资源的请求使用信息;

且所述插件的描述信息进一步包括:插件用途描述信息;

则所述插件匹配模块包括:

第二接收子模块,用于接收对插件所支持网络资源的请求使用信息;

第二获取子模块,用于依据插件所支持网络资源的请求使用信息,获取对应插件的用途信息;

第二匹配子模块,用于将获得的插件用途信息与描述信息中的插件用途描述信息匹配。

优选地,所述应用程序中插件的使用信息包括:使用应用程序的用户所属的类别;

且所述插件的描述信息进一步包括:插件类型;

则所述插件匹配模块包括:

第三获取子模块,用于获取登录用户的所属类别信息;

第三匹配子模块,用于将登录户的所属类别信息与描述信息中的插件类型匹配。

优选地,所述插件获取加载模块包括:

本地获取子模块,用于在应用程序本地中获取相匹配的插件;和/或

服务器获取子模块,用于向插件下载服务器发送下载请求,从所述插件下载服务器获取相匹配的插件。

优选地,所述装置还包括:

插件地址获取模块,用于从应用程序本地的插件地址列表中获取所述相匹配插件的地址:

如果所述插件的地址为本地存储地址,则所述本地获取子模块在应用程序本地中获取相匹配的插件;

如果所述插件的地址为下载服务器的下载地址,则所述服务器获取子模块从所述插件下载服务器获取相匹配的插件。

优选地,所述插件用于显示网络资源或者优化所述网络资源。

与现有技术相比,本申请包括以下优点:

首先,本申请实现了插件的按需部署,应用程序的安装包内包含插件的描述信息(如插件图标、插件名称等),但不包含真正用于安装插件的信息(如可执行文件、版本信息等);

其次,本申请实现了插件的按需加载,应用程序启动时只加载插件的描述信息,当真正需要时再加载所需的插件;

再次,本申请提供了点击加载、延时加载、触发条件加载等多种按需加载方式,非常灵活。

综上所述,本申请改变了传统插件的部署方式:安装包部署+页面手动安装,即所有插件都部署在应用程序安装包一起发布中,当运行该安装包时完成应用程序和所有插件的安装。与之相比,本申请使用了按需部署的新的部署方式,使得应用程序安装包变小,便于应用程序安装包的制作和发布,使得发布流程更加灵活。

而且,本申请还改变了传统插件在应用程序启动时加载的方式,与之相比,本申请使用了按需加载的方式,可以加快应用程序的启动速度,减少资源使用。

当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。

附图说明

图1是本申请实施例所述一种插件加载方法的流程图;

图2是本申请实施例中通过访问预设的网址触发相应插件加载的流程图;

图3是本申请实施例中通过搜索预设的关键词触发相应插件加载的流程图;

图4是本申请实施例中通过成功登录触发相应插件加载的流程图;

图5是本申请实施例所述一种插件加载装置的结构图;

图6是本申请另一实施例所述一种应用程序插件加载方法的流程图;

图7是本申请另一实施例所述一种应用程序插件加载装置的结构图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

本申请提出一种插件按需部署及加载的方法,不同于传统的插件部署及加载方式,能够减小应用程序安装包的大小,并提高应用程序的启动速度。

需要说明的是,上述能够按需部署和加载插件的应用程序可以是网页浏览器,也可以是其他应用程序,如各种办公软件(excel、word等)、系统软件、杀毒软件等应用程序,都可以使用本申请所述的方法和装置来实现插件的按需部署和加载。

下面通过实施例对本申请所述方法的实现流程进行详细说明。

参照图1,是本申请实施例所述一种插件加载方法的流程图。

步骤101,在应用程序安装过程中,从应用程序安装包中提取该应用程序插件的描述信息,并保存到本地;

所述插件的描述信息包括插件图标、插件名称以及相关配置(所述相关配置包括:插件按钮的文字,是否有下拉箭头,是否延时加载/点击加载等加载方式,鼠标悬浮上去的插件按钮提示tip文字等)等信息,这些信息用于描述插件的属性,并不能用于安装插件。

插件的描述信息部署在应用程序安装包中,运行所述安装包,可以将应用程序安装到用户本地机器上,同时还可以将该应用程序插件的描述信息提取出来并存到本地。但是由于安装包中不包含用于安装插件的信息,因此并不能将插件安装到用户本地机器上。

由上可知,虽然应用程序安装包中包含了插件的描述信息,但是插件的发布与应用程序的发布和安装仍是分开的。以浏览器程序为例,现有技术中,浏览器和插件是打包一起发布的,比如安装包大小有10M,其中可能预装了用户并不想用的插件;分开发布后,浏览器的安装包大小只有5M。因此,这样更便于安装包的制作和发布,减少了发布流程及资源。

步骤102,每次启动所述已安装的应用程序时,从本地加载所述插件的描述信息;

应用程序安装一次后,以后直接启动所述已安装的应用程序即可。每次启动时,会自动从本地加载插件的描述信息。其中,加载就是后台运行程序的过程。

以浏览器程序为例,浏览器每次启动时,会加载一些插件的图标,并显示在浏览器的插件栏上。

步骤103,当触发插件加载时,根据所述已加载的插件描述信息,下载并安装相应的插件。

所述下载相应插件是指:下载相应插件的安装程序,并运行该安装程序来完成插件的安装。安装完成后,会自动从本地加载并启动所述已安装的插件。

具体的,可以根据插件名称,从网络上下载相应的插件安装程序,包括可执行文件、插件版本等信息,下载到本地后进行安装。

在应用程序启动之后,很多情况下都会触发插件加载,本申请实施例列举以下几种,但本申请的保护范围不应限定于此。

1)点击加载;

即通过点击插件图标,触发相应插件的加载。

仍以浏览器程序为例,浏览器启动时,并不真正地加载插件,所以用户在使用浏览器时,最初看到的插件只是图标。而当用户点击某个插件图标时,才会去真正地下载安装该插件。这样,就能保证用户机器上工作的插件,是用户真正感兴趣的插件,从而解决了一款插件全网发布,但使用人数有限的问题。

例如,用户发现插件栏上有一个“翻译”的按钮,当发现有翻译的需求时,点击该按钮,此时浏览器会加载翻译插件,并启动插件功能。

2)延时加载;

即应用程序启动后的预设时间段内,自动触发插件加载。

应用程序先启动,保证启动速度,过一定的时间后再自动加载插件,适用于不要求用户点击就需要工作的插件,如邮件提醒等插件。

例如,用户点击浏览器,大约3秒内,浏览器启动起来。浏览器启动后,用户开始浏览网页,当用户出去给自己取一杯水回来后,发现提示“有新邮件消息”和“新微博消息”,这种提示不是在浏览器一启动就提示的。这种浏览器提醒类插件,比如邮件通、微博等,是大约在浏览器启动8秒后开始加载启动的,插件开始在后台去网上查询提醒消息,大约1分钟后,提示用户有新消息,使得用户不用自己登录到邮箱或微博中去查看,就可以及时获得邮件或微博信息。这种延时加载不影响浏览器的启动速度,而且用户并不是一开浏览器就想知道有新提醒,所以这类提醒类插件非常适用于延时加载。

而与之对比的,启动即时通讯工具后,会立刻通知用户离线时未读的消息,这种即为即时启动。

进一步优选地,对于这些不要求用户点击就需要工作的插件,由于这些插件与用户是否需要、是否选择使用无关,并且由于数量相对较少,所以也可以将插件安装程序部署在应用程序安装包中,在安装应用程序时一同安装这些插件,以后每次启动应用程序时延时加载即可。这样可以免去第一次延时加载时从网络端下载安装的过程,加快插件的加载启动速度。

但是,需要说明的是,实际应用中,并不是所有的延时加载的插件都会放入安装包内,如邮件、微博等插件,并没有将插件的安装程序放到安装包内,安装包内只放了网银、游戏这两个必要的延时加载的应用。

3)触发条件加载;

即根据符合预置条件的用户行为触发相应插件的加载,其中所述符合预置条件的用户行为包括访问预设的网址,和/或搜索预设的关键词,和/或成功登录预设的网站或系统,等等。仍以浏览器为例,用户在使用浏览器的过程中,满足特定的条件,提示用户可以使用某插件,当用户选择使用时,安装相应插件。

下面分别通过图2、图3和图4进行说明。

参照图2所示,是本申请实施例中通过访问预设的网址触发相应插件加载的流程图。

步骤201,当用户访问网页时,提取当前地址栏中的网址;

由浏览器来提取当前地址栏中的网址,所述网址可以是用户输入的网址,也可以是用户在页面中点击链接的网址,还可以是用户点击收藏夹的网址,或者是通过其他方式访问的网址。

步骤202,将所提取的网址与预先保存的网址进行匹配,如果匹配上,则触发与所述网址相匹配的插件的加载;

其中,所述预先保存的网址是通过分析用户的历史浏览记录获得。如收集众多用户的浏览日志,并进行分析,分析出用户经常访问哪些网址,并将这些网址记录下来进行保存。当用户访问的网址与所保存的网址匹配时,向用户推荐与该网址相匹配的插件。

其中,所述匹配可以为在本地进行匹配,或者,发送到服务端进行匹配,服务器端再将匹配结果返回本地。

如果是本地匹配,则本地安装相应的数据库,该数据库中保存网址及其对应推荐的插件信息,如插件名称等,这个数据库会经常(定期或不定期)通过网络更新。匹配时,由浏览器从本地数据库读取网址,并与从地址栏提取的网址进行比对。

如果是服务器匹配,则由浏览器将从地址栏提取的网址发送到服务端,由服务端进行匹配,然后将匹配结果返回给浏览器。其中,匹配结果包括是否匹配到的信息,如果匹配到,还包括相应推荐的插件信息(如插件名称等)。

例如:当用户访问特定的网址,如某些团购网址时,会提示用户是否需要使用团购插件,如果用户选择是,则安装插件。再如,访问银行的网银,可能触发网银插件的加载。

参照图3所示,是本申请实施例中通过搜索预设的关键词触发相应插件加载的流程图。

步骤301,当用户进行搜索时,提取当前搜索框中的搜索关键词;

由浏览器来提取当前搜索框中的搜索关键词,所述搜索关键词可以是用户输入的关键词,也可以是用户在搜索框下拉列表中点击的关键词,还可以是用户其他方式使用的关键词。

步骤302,将所提取的搜索关键词与预先保存的搜索关键词进行匹配,如果匹配上,则触发与所述搜索关键词相匹配的插件的加载;

其中,所述预先保存的搜索关键词是通过分析用户的历史搜索记录获得。如收集众多用户的搜索日志,并进行分析,分析出用户经常使用哪些关键词来点击访问哪些网址,并将这些关键词记录下来进行保存。当用户使用的关键词与所保存的关键词匹配时,向用户推荐与该关键词相匹配的插件。

所述匹配为在本地进行匹配,或者,发送到服务端进行匹配,服务器端再将匹配结果返回本地。

如果是本地匹配,则本地安装相应的数据库,该数据库中保存关键词及其对应推荐的插件信息,如插件名称等,这个数据库会经常(定期或不定期)通过网络更新。匹配时,由浏览器从本地数据库读取关键词,并与从搜索框中提取的关键词进行比对。

如果是服务器匹配,则由浏览器将从搜索框中提取的关键词发送到服务端,由服务端进行匹配,然后将匹配结果返回给浏览器。其中,匹配结果包括是否匹配到的信息,如果匹配到,还包括相应推荐的插件信息(如插件名称等)。

例如,搜索特定的关键词时加载插件。如搜索“火锅”关键词时,可以加载“猜你喜欢”或者“团购”插件。再如,在搜索引擎中搜索“暴风影音“,可能触发软件包括插件的加载。在58同城搜索“KTV”,可能触发“猜你喜欢”插件的加载。

参照图4所示,是本申请实施例中通过成功登录触发相应插件加载的流程图。

步骤401,当用户登录网站或系统时,提取相应网站或系统的登录地址;

由浏览器来提取当前的登录地址,所述登录地址可以是用户输入的网址,也可以是用户在页面中点击链接的网址,还可以是通过其他方式访问的网站或系统的登录地址。

步骤402,获取用户是否登录成功的信息,如果登录成功,则将所提取的登录地址与预先保存的登录地址进行匹配,如果匹配上,则触发与所述登录地址相匹配的插件的加载;

如果登录失败,则不再进行匹配。

其中,所述预先保存的登录地址是预先配置。配置时可以根据实际应用的需要选取网站或系统的登录地址。

所述匹配为在本地进行匹配,或者,发送到服务端进行匹配,服务器端再将匹配结果返回本地。

如果是本地匹配,则本地安装相应的数据库,该数据库中保存登录地址及其对应推荐的插件信息,如插件名称等,这个数据库会经常(定期或不定期)通过网络更新。匹配时,由浏览器从本地数据库读取登录地址,并与从地址栏提取的登录地址进行比对。

如果是服务器匹配,则由浏览器将提取出来的登录地址发送到服务端,由服务端进行匹配,然后将匹配结果返回给浏览器。其中,匹配结果包括是否匹配到的信息,如果匹配到,还包括相应推荐的插件信息(如插件名称等)。

例如,成功登录特定的网站或系统时加载插件。如登录微博或博客,登录成功后,可能触发提醒类插件的加载。

基于以上内容,更进一步地,当某插件已经安装到用户本地的机器上后,还可以包括以下步骤:

再次启动所述已安装的应用程序时,当触发插件加载时,从本地加载并启动所述已安装的插件。

例如,用户点击了一个插件图标,如果这个插件是已经安装过的,那么直接加载启动就可以了。如果本地没有安装,这个时候,浏览器会根据插件的描述信息(比如插件名称),在后台从网上下载zip包,解压安装,并加载启动。

综上所述,首先,本申请实施例实现了插件的按需部署,应用程序的安装包内包含插件的描述信息(如插件图标、插件名称等),但不包含真正用于安装插件的信息(如可执行文件、版本信息等);

其次,本申请实施例实现了插件的按需加载,应用程序启动时只加载插件的描述信息,当真正需要时再加载所需的插件;

再次,本申请实施例提供了点击加载、延时加载、触发条件加载等多种按需加载方式,非常灵活。

综上所述,本申请实施例改变了传统插件的部署方式:安装包部署+页面手动安装,即所有插件都部署在应用程序安装包一起发布中,当运行该安装包时完成应用程序和所有插件的安装。与之相比,本申请实施例使用了按需部署的新的部署方式,使得应用程序安装包变小,便于应用程序安装包的制作和发布,使得发布流程更加灵活。

而且,本申请实施例还改变了传统插件在应用程序启动时加载的方式,与之相比,本申请实施例使用了按需加载的方式,可以加快应用程序的启动速度,减少资源使用。

上述实施例是以浏览器程序为例进行说明,但具体应用中也可以应用到其他很多应用程序的插件部署及加载中,其实施原理与上述实施例相似,故不再赘述。

需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。

基于上述方法实施例的说明,本申请还提供了相应的插件部署及加载装置实施例。

参照图5,是本申请实施例所述一种插件加载装置的结构图。

所述插件部署及加载装置可以包括以下模块:

应用程序安装模块10,用于在应用程序安装过程中,从应用程序安装包中提取该应用程序插件的描述信息,并保存到本地;

应用程序启动模块20,用于每次启动所述已安装的应用程序时,从本地加载所述插件的描述信息;

插件触发模块30,用于触发插件加载;

插件加载模块40,用于当触发插件加载时,根据所述已加载的插件描述信息,下载并安装相应的插件。

优选地,再次启动所述已安装的应用程序时,当触发插件加载时,所述插件加载模块40可以直接从本地加载并启动所述已安装的插件。

其中,所述插件的描述信息可以包括插件图标和插件名称等信息。

优选地,所述触发插件加载包括点击加载,即:插件触发模块30通过点击插件图标,触发相应插件的加载。

优选地,所述触发插件加载包括延时加载,即:插件触发模块30在应用程序启动后的预设时间段内,自动触发插件加载。

优选地,所述触发插件加载包括触发条件加载,即:插件触发模块30根据符合预置条件的用户行为触发相应插件的加载。

优选地,所述符合预置条件的用户行为包括:访问预设的网址,和/或搜索预设的关键词,和/或成功登录预设的网站或系统。

优选地,所述装置是设置在网页浏览器中。当然,所述装置也可以设置在其他应用程序中。

对于访问网址的用户行为,所述插件触发模块30可以包括以下子模块:

网址提取子模块,用于当用户访问网页时,提取当前地址栏中的网址;

网址匹配子模块,用于将所提取的网址与预先保存的网址进行匹配;

触发子模块,用于如果匹配上,则触发与所述网址相匹配的插件的加载;

其中,所述预先保存的网址是通过分析用户的历史浏览记录获得。

对于搜索关键词的用户行为,所述插件触发模块30可以包括以下子模块:

关键词提取子模块,用于当用户进行搜索时,提取当前搜索框中的搜索关键词;

关键词匹配子模块,用于将所提取的搜索关键词与预先保存的搜索关键词进行匹配;

触发子模块,用于如果匹配上,则触发与所述搜索关键词相匹配的插件的加载;

其中,所述预先保存的搜索关键词是通过分析用户的历史搜索记录获得。

对于登录网址或系统的用户行为,所述插件触发模块30可以包括以下子模块:

登录地址提取子模块,用于当用户登录网站或系统时,提取相应网站或系统的登录地址;

获取子模块,用于获取用户是否登录成功的信息;

地址匹配子模块,用于如果登录成功,则将所提取的登录地址与预先保存的登录地址进行匹配;

触发子模块,用于如果匹配上,则触发与所述登录地址相匹配的插件的加载;

其中,所述预先保存的登录地址是预先配置。

其中,所述匹配为在本地进行匹配,或者,发送到服务端进行匹配,服务器端再将匹配结果返回本地。

对于上述插件加载装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1至图4所示方法实施例的部分说明即可。

基于上述图1至图5实施例的说明,本申请还提供了以下图6所示的方法实施例和图7所示的装置实施例,下面分别说明。

参照图6所示,是本申请另一实施例所述一种应用程序插件加载方法的流程图。

步骤601,在应用程序安装过程中,从应用程序安装包中提取该应用程序插件的描述信息,并保存到本地;

所述插件的描述信息包括插件图标、插件名称以及相关配置(所述相关配置包括:插件按钮的文字,是否有下拉箭头,是否延时加载/点击加载等加载方式,鼠标悬浮上去的插件按钮提示tip文字等)等信息,这些信息用于描述插件的属性,并不能用于安装插件。

插件的描述信息部署在应用程序安装包中,运行所述安装包,可以将应用程序安装到用户本地机器上,同时还可以将该应用程序插件的描述信息提取出来并存到本地。但是由于安装包中不包含用于安装插件的信息,因此并不能将插件安装到用户本地机器上。

由上可知,虽然应用程序安装包中包含了插件的描述信息,但是插件的发布与应用程序的发布和安装仍是分开的。以浏览器程序为例,现有技术中,浏览器和插件是打包一起发布的,比如安装包大小有10M,其中可能预装了用户并不想用的插件;分开发布后,浏览器的安装包大小只有5M。因此,这样更便于安装包的制作和发布,减少了发布流程及资源。

步骤602,依据应用程序中插件的使用信息,匹配所述插件的描述信息,得出相匹配的插件;

即在应用程序启动并加载插件的描述信息之后,依据应用程序中插件的使用信息,匹配所述插件的描述信息,从所述描述信息中得出相匹配插件的名称。

根据插件加载方式的不同,插件的使用信息也不同,相应的,匹配插件的方式也不同,下面分别详细说明。

1)插件加载方式为点击加载:

即通过点击插件图标,触发相应插件的加载。

所述应用程序中插件的使用信息包括:通过点击插件图标产生的插件安装请求信息;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

A1、接收点击插件图标产生的插件安装请求信息;

即捕捉到鼠标点击插件图标的动作后,产生插件安装请求信息;

B1、依据点击插件图标产生的插件安装请求信息,获取对应插件的图标;

即依据所述插件安装请求信息,获取用户点击的插件图标;

C1、将获得的插件图标与所述插件的描述信息中的插件图标相匹配。

即将用户点击的插件图标与应用程序启动时加载的插件的描述信息中的插件图标进行匹配,从中找出相匹配插件的名称。

2)插件加载方式为触发条件加载:

所述应用程序中插件的使用信息包括:对插件所支持网络资源的请求使用信息;

且所述插件的描述信息进一步包括:插件用途描述信息;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

A2、接收对插件所支持网络资源的请求使用信息;

所述插件所支持的网络资源是指运行一个插件所需要的网络资源环境,例如运行一个PDF插件,其所支持的网络资源需要支持PDF格式的文件的解析。

当用户访问预设的网址,或者,搜索预设的关键词时,会产生对插件所支持网络资源的请求使用信息。或者,当浏览器自动检测到插件所支持的网络资源时,也会产生对插件所支持网络资源的请求使用信息。

B2、依据插件所支持网络资源的请求使用信息,获取对应插件的用途信息;

所述插件的用途信息描述了插件的用途,如PDF插件的用途描述是“支持PDF格式”。

C2、将获得的插件用途信息与描述信息中的插件用途描述信息匹配。

即将获得的插件用途信息与应用程序启动时加载的插件的描述信息中的插件用途描述信息进行匹配,从中找出相匹配插件的名称。

3)插件加载方式为触发条件加载:

所述应用程序中插件的使用信息包括:使用应用程序的用户所属的类别;

且所述插件的描述信息进一步包括:插件类型;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

A3、获取登录用户的所属类别信息;

当用户登录网站或系统或浏览器等应用程序成功后,获取登录用户的所属类别信息,例如属于游戏类用户,或者属于新闻类用户,等等。

B3、将登录用户的所属类别信息与描述信息中的插件类型匹配。

即将登录用户的所属类别信息与应用程序启动时加载的插件的描述信息中的插件类型进行匹配,从中找出相匹配插件的名称。

插件类型如游戏类插件、文件阅读类插件、网购类插件等等。

步骤603,根据所述插件描述信息,获取所述相匹配的插件,并加载该相匹配的插件。

在步骤602找到相匹配插件的名称后,根据插件名称可以获取到相应插件,其中包括插件的安装信息。

获取插件的步骤可通过以下两种方式实现:

第一种,在应用程序本地中获取相匹配的插件;

包括两种情况的解释:一种情况是,应用程序本地预先加载一个插件库,该插件库定时从服务端更新,获取插件时如果本地插件库中存在相应插件,则可以直接从本地获取;还有一种情况是,首次从服务器端获取插件,并在本地安装,这样后续获取该插件时就可以直接从本次获取。

第二种,向插件下载服务器发送下载请求,从所述插件下载服务器获取相匹配的插件。

基于上述两种获取插件的方式,所述获取相匹配的插件之前,还可以包括以下步骤:

从应用程序本地的插件地址列表中获取所述相匹配插件的地址:

如果所述插件的地址为本地存储地址,则在应用程序本地中获取相匹配的插件;

如果所述插件的地址为下载服务器的下载地址,则从所述插件下载服务器获取相匹配的插件。

应用程序本地维护着一张插件地址列表,其中记录了各种插件的名称、地址等信息,该列表会定期从服务器端下载更新数据。该插件地址列表中记录的插件地址可能是本地的存储地址,也可能是服务器端的下载地址。因此,在获取插件之前,先读取所述插件地址列表,并依据插件名称查找相应的插件地址。如果只查找到服务器端的下载地址,则从下载服务器上下载获取;如果只查找到本地的存储地址,则从本地获取;如果同时查找到服务器端的下载地址和本地的存储地址,则优先从本地获取,因为这样更加节省获取时间。

上述的插件包括各种类型的插件,如用于显示网络资源的插件,例如flash插件,或者优化所述网络资源的插件,例如各种系统优化工具,等等。

参照图7所示,是本申请另一实施例所述一种应用程序插件加载装置的结构图。

所述应用程序插件加载装置可以包括以下模块:

应用程序安装模块71,用于在应用程序安装过程中,从应用程序安装包中提取该应用程序插件的描述信息,并保存到本地;

插件匹配模块72,用于依据应用程序中插件的使用信息,匹配所述插件的描述信息,得出相匹配的插件;

插件获取加载模块73,用于根据所述插件描述信息,获取所述相匹配的插件,并加载该相匹配的插件。

其中,所述插件的描述信息可以包括插件图标,还可以包括:插件名称,插件按钮提示文字,插件加载方式等信息。

其中,所述应用程序中插件的使用信息可以包括:通过点击插件图标产生的插件安装请求信息;

则所述插件匹配模块72具体可以包括以下子模块:

第一接收子模块,用于接收点击插件图标产生的插件安装请求信息;

第一获取子模块,用于依据插件所支持网络资源的请求使用信息,获取对应插件的图标;

第一匹配子模块,用于将获得的插件图标与所述插件的描述信息中的插件图标相匹配。

其中,所述应用程序中插件的使用信息包括:对插件所支持网络资源的请求使用信息;

且所述插件的描述信息进一步包括:插件用途描述信息;

则所述插件匹配模块72具体可以包括以下子模块:

第二接收子模块,用于接收对插件所支持网络资源的请求使用信息;

第二获取子模块,用于依据插件所支持网络资源的请求使用信息,获取对应插件的用途信息;

第二匹配子模块,用于将获得的插件用途信息与描述信息中的插件用途描述信息匹配。

其中,所述应用程序中插件的使用信息包括:使用应用程序的用户所属的类别;

且所述插件的描述信息进一步包括:插件类型;

则所述插件匹配模块72具体可以包括以下子模块:

第三获取子模块,用于获取登录用户的所属类别信息;

第三匹配子模块,用于将登录户的所属类别信息与描述信息中的插件类型匹配。

其中,所述插件获取加载模块73可以包括以下子模块:

本地获取子模块,用于在应用程序本地中获取相匹配的插件;和/或

服务器获取子模块,用于向插件下载服务器发送下载请求,从所述插件下载服务器获取相匹配的插件。

优选地,所述装置还可以包括以下模块:

插件地址获取模块74,用于从应用程序本地的插件地址列表中获取所述相匹配插件的地址:

如果所述插件的地址为本地存储地址,则所述本地获取子模块在应用程序本地中获取相匹配的插件;

如果所述插件的地址为下载服务器的下载地址,则所述服务器获取子模块从所述插件下载服务器获取相匹配的插件。

优选地,所述插件用于显示网络资源或者优化所述网络资源。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本申请中,“装置”指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。

而且,上文中的“和/或”表示本文既包含了“和”的关系,也包含了“或”的关系,其中:如果方案A与方案B是“和”的关系,则表示某实施例中可以同时包括方案A和方案B;如果方案A与方案B是“或”的关系,则表示某实施例中可以单独包括方案A,或者单独包括方案B。

以上对本申请所提供的一种应用程序插件加载方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

本发明公开了A1、一种应用程序插件加载方法,包括:

在应用程序安装过程中,从应用程序安装包中提取该应用程序插件的描述信息,并保存到本地;

依据应用程序中插件的使用信息,匹配所述插件的描述信息,得出相匹配的插件;

根据所述插件描述信息,获取所述相匹配的插件,并加载该相匹配的插件。

A2、根据A1所述的方法,所述插件的描述信息包括:插件图标。

A3、根据A2所述的方法,所述应用程序中插件的使用信息包括:通过点击插件图标产生的插件安装请求信息;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

接收点击插件图标产生的插件安装请求信息;

依据点击插件图标产生的插件安装请求信息,获取对应插件的图标;

将获得的插件图标与所述插件的描述信息中的插件图标相匹配。

A4、根据A2所述的方法,所述应用程序中插件的使用信息包括:对插件所支持网络资源的请求使用信息;

且所述插件的描述信息进一步包括:插件用途描述信息;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

接收对插件所支持网络资源的请求使用信息;

依据插件所支持网络资源的请求使用信息,获取对应插件的用途信息;

将获得的插件用途信息与描述信息中的插件用途描述信息匹配。

A5、根据A2所述的方法,所述应用程序中插件的使用信息包括:使用应用程序的用户所属的类别;

且所述插件的描述信息进一步包括:插件类型;

则所述依据应用程序中插件的使用信息,匹配所述插件的描述信息的步骤包括:

获取登录用户的所属类别信息;

将登录用户的所属类别信息与描述信息中的插件类型匹配。

A6、根据A1所述的方法,所述获取相匹配的插件步骤包括:在应用程序本地中获取相匹配的插件;或者

向插件下载服务器发送下载请求,从所述插件下载服务器获取相匹配的插件。

A7、根据A6所述的方法,所述获取相匹配的插件之前,还包括:

从应用程序本地的插件地址列表中获取所述相匹配插件的地址:

如果所述插件的地址为本地存储地址,则在应用程序本地中获取相匹配的插件;

如果所述插件的地址为下载服务器的下载地址,则从所述插件下载服务器获取相匹配的插件。

A8、根据A1所述的方法,所述插件用于显示网络资源或者优化所述网络资源。

本发明还公开了B9、一种应用程序插件加载装置,包括:

应用程序安装模块,用于在应用程序安装过程中,从应用程序安装包中提取该应用程序插件的描述信息,并保存到本地;

插件匹配模块,用于依据应用程序中插件的使用信息,匹配所述插件的描述信息,得出相匹配的插件;

插件获取加载模块,用于根据所述插件描述信息,获取所述相匹配的插件,并加载所述相匹配的插件。

B10、根据B9所述的装置,所述插件的描述信息包括:插件图标。

B11、根据B10所述的装置,所述应用程序中插件的使用信息包括:通过点击插件图标产生的插件安装请求信息;

则所述插件匹配模块包括:

第一接收子模块,用于接收点击插件图标产生的插件安装请求信息;

第一获取子模块,用于依据点击插件图标产生的插件安装请求信,获取对应插件的图标;

第一匹配子模块,用于将获得的插件图标与所述插件的描述信息中的插件图标相匹配。

B12、根据B10所述的装置,所述应用程序中插件的使用信息包括:对插件所支持网络资源的请求使用信息;

且所述插件的描述信息进一步包括:插件用途描述信息;

则所述插件匹配模块包括:

第二接收子模块,用于接收对插件所支持网络资源的请求使用信息;

第二获取子模块,用于依据插件所支持网络资源的请求使用信息,获取对应插件的用途信息;

第二匹配子模块,用于将获得的插件用途信息与描述信息中的插件用途描述信息匹配。

B13、根据B10所述的装置,所述应用程序中插件的使用信息包括:使用应用程序的用户所属的类别;

且所述插件的描述信息进一步包括:插件类型;

则所述插件匹配模块包括:

第三获取子模块,用于获取登录用户的所属类别信息;

第三匹配子模块,用于将登录户的所属类别信息与描述信息中的插件类型匹配。

B14、根据B9所述的装置,所述插件获取加载模块包括:

本地获取子模块,用于在应用程序本地中获取相匹配的插件;和/或

服务器获取子模块,用于向插件下载服务器发送下载请求,从所述插件下载服务器获取相匹配的插件。

B15、根据B14所述的装置,还包括:

插件地址获取模块,用于从应用程序本地的插件地址列表中获取所述相匹配插件的地址:

如果所述插件的地址为本地存储地址,则所述本地获取子模块在应用程序本地中获取相匹配的插件;

如果所述插件的地址为下载服务器的下载地址,则所述服务器获取子模块从所述插件下载服务器获取相匹配的插件。

B16、根据B9所述的装置,所述插件用于显示网络资源或者优化所述网络资源。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1