插件下载方法及装置与流程

文档序号:14653570发布日期:2018-06-08 22:30阅读:307来源:国知局
插件下载方法及装置与流程

本发明实施例涉及计算机技术领域,特别涉及一种插件下载方法及装置。



背景技术:

为了避免安装包过大,应用程序的一些扩展功能是通过动态下载插件的方式实现的。以安卓系统为例,插件是遵循一定规范的应用程序接口编写出来的程序,用来在应用程序的原始功能基础上实现扩展功能,插件必须依赖于应用程序才能运行,仅靠插件是无法正常运行的。

当一个应用程序中有多个进程需要使用到同一个插件提供的功能,而该插件尚未下载安装时,会出现多个进程同时下载安装该插件的情况。由于在同一应用程序中同一个插件的下载安装路径相同,若是两个进程同时下载同一个插件,会出现下载错误的问题。现有技术中,通过文件锁机制来避免多进程并行下载引起下载错误的问题。具体来讲,对各个进程提供文件锁,该文件锁具有对进程上锁的能力,获得文件锁的第一进程在上锁后执行插件下载安装流程,没有获得文件锁的第二进程被挂起,即处于等待状态。

由于从第一进程开始上锁,到第一进程的插件下载安装流程执行完毕的过程中,其余等待的第二进程都自动被挂起,若是第一进程在执行过程中出错异常退出,则第一进程不会解锁文件锁,等待的第二进程持续被挂起,第二进程无法继续执行或重新执行插件下载安装流程,从而发生死锁的问题。



技术实现要素:

为了解决现有技术中上锁的进程在执行过程中异常退出后,等待的进程持续被挂起,无法继续执行或重新执行插件的下载安装流程,从而发生死锁的问题,本发明实施例提供了一种插件下载方法及装置。所述技术方案如下:

第一方面,提供了一种插件下载方法,所述方法包括:

当第二进程请求下载安装插件时,检测与所述插件对应的进程ID文件锁中是否存储有进程ID;所述进程ID文件锁用于对存储的所述进程ID所对应的进程上锁,所述进程ID用于标识所述进程;

当所述进程ID文件锁存储有第一进程的进程ID时,根据所述第一进程的进程ID向操作系统查询所述第一进程是否存在;

当所述第一进程不存在时,确定所述第一进程异常退出,将所述进程ID文件锁中存储的所述进程ID修改为所述第二进程的进程ID;

继续执行所述插件的下载安装流程。

第二方面,提供了一种插件下载装置,所述装置包括:

第一检测模块,用于当第二进程请求下载安装插件时,检测与所述插件对应的进程ID文件锁中是否存储有进程ID;所述进程ID文件锁用于对存储的所述进程ID所对应的进程上锁,所述进程ID用于标识所述进程;

查询模块,用于当所述第一检测模块检测到所述进程ID文件锁存储有第一进程的进程ID时,根据所述第一进程的进程ID向操作系统查询所述第一进程是否存在;

第一修改模块,用于当所述查询模块查询到所述第一进程不存在时,确定所述第一进程异常退出,将所述进程ID文件锁中存储的所述进程ID修改为所述第二进程的进程ID;

下载模块,用于继续执行所述插件的下载安装流程。

本发明实施例提供的技术方案带来的有益效果是:

通过利用将第一进程的进程ID写入进程ID文件锁的方式对第一进程上锁,使得需要下载同一插件的第二进程能够根据进程ID文件锁中的进程ID到操作系统中查找第一进程是否存在,若不存在,表明第一进程已经在中途异常退出,则重新将第二进程的进程ID写入上锁,继续执行插件的下载安装流程,避免了上锁的第一进程异常退出后,其他的第二进程被挂起而无法继续执行插件的下载安装流程的情况,从而解决了现有技术中的文件锁会死锁的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例中提供的插件下载方法的方法流程图;

图2A是本发明另一个实施例中提供的插件下载方法的方法流程图;

图2B是本发明一个实施例中提供的第二进程继续执行插件的下载安装流程的方法流程图;

图2C是本发明一个实施例中提供的示意性的插件下载方法的原理图;

图3是本发明一个实施例中提供的插件下载装置的结构方框图;

图4是本发明部分实施例中提供的插件下载装置的结构方框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

为了便于对本发明各实施例的理解,首先对相关名词进行解释:

插件:是遵循一定规范的应用程序接口编写出来的程序,用来实现应用程序的扩展功能。

进程ID:用于在操作系统的多个进程中唯一标识进程。

进程ID文件锁:用于存储进程ID,并对存储的进程ID所对应的进程上锁。具体地,当进程ID被写入时,进程ID文件锁对该进程ID对应的进程上锁,当进程ID被删除或被修改时,进程ID文件锁对进程ID对应的进程解锁。

宿主应用程序:具有下载安装插件的权限的应用程序。当下载安装一个插件后,宿主应用程序在原始功能基础上,获得扩展的功能。

非宿主应用程序:不具有下载安装插件的权限的应用程序,但能够通过共享宿主应用程序已经安装的插件,获得扩展的功能。

共享内存:是不同的进程实现进程间通信的存储空间。当一个进程在共享内存中写入数据后,另一个进程能够读取到该共享内存中的数据。

图1是本发明一个实施例中提供的插件下载方法的方法流程图。本实施例以该插件下载方法应用于安装有宿主应用程序的终端中来举例说明,或者,应用于安装有宿主应用程序和非宿主应用程序的终端中来举例说明。如图1所示,该插件下载方法包括:

步骤101,当第二进程请求下载安装插件时,检测与该插件对应的进程ID文件锁中是否存储有进程ID。

进程ID文件锁用于对存储的进程ID所对应的进程上锁,进程ID用于标识该进程。

一个插件对应一个进程ID文件锁,进程ID文件锁的命名通常与插件相关,比如使用插件的K值来命名对应的进程ID文件锁。第一个下载安装该插件的进程通常需要创建与插件对应的进程ID文件锁,并将进程ID文件锁按照预定的命名规则命名,之后需要下载该插件的其它进程可以根据进程ID文件锁的名称查找到对应的进程ID文件锁。

进程ID文件锁中存储有进程ID,表明进程ID文件锁中存在已经上锁的进程。若进程ID文件锁中存储有预定值(比如-1),则表明已经有第一进程将插件下载安装完毕,并且正常退出,当第二进程需要使用到该插件时,可以直接使用已经安装的插件,而不需要再次下载安装。

步骤102,当进程ID文件锁存储有第一进程的进程ID时,根据第一进程的进程ID向操作系统查询第一进程是否存在。

在正常情况下,第一进程在下载安装插件时,将第一进程的进程ID写入进程ID文件锁,由进程ID文件锁对第一进程上锁;第一进程在下载安装完毕后,将第一进程的进程ID从进程ID文件锁进行擦除,由进程ID文件锁对第一进程解锁。但是如果第一进程中途异常退出,则该第一进程的进程ID有可能会保留在进程ID锁中,未被及时擦除。

当进程ID文件锁中存储有第一进程的进程ID时,第二进程会继续根据第一进程ID向操作系统查询第一进程是否存在,从而确定第一进程是否处于正常运行状态。如果第一进程在操作系统中存在,则表明第一进程处于正常运行状态,第二进程退出;如果第一进程在操作系统中不存在,则表明第一进程在中途异常退出,进入步骤103。

步骤103,当第一进程不存在时,确定第一进程异常退出,将进程ID文件锁中存储的进程ID修改为第二进程的进程ID。

当第一进程退出时,无论是正常退出或者异常退出,操作系统中都查询不到该第一进程。

因此,若进程ID文件锁中的进程ID存在,但第二进程根据该进程ID向操作系统查询到第一进程不存在,则表明第一进程已经在中途异常退出。

第二进程将第二进程的进程ID写入进程ID文件锁中,覆盖掉原来存储的第一进程的进程ID,则进程ID文件锁对第一进程解锁,重新对第二进程上锁。

步骤104,继续执行该插件的下载安装流程。

由于第一进程是异常退出的,可能已经下载了插件的部分数据,因此第二进程上锁后,可以按照已经下载好的数据,继续下载安装该插件,而不需要全部重新下载该插件。

综上所述,本发明实施例提供的插件下载方法,通过利用将第一进程的进程ID写入进程ID文件锁的方式对第一进程上锁,使得需要下载同一插件的第二进程能够根据进程ID文件锁中的进程ID到操作系统中查找第一进程是否存在,若不存在,表明第一进程已经在中途异常退出,则重新将第二进程的进程ID写入上锁,继续执行插件的下载安装流程,避免了上锁的第一进程异常退出后,其他的第二进程被挂起而无法继续执行插件的下载安装流程的情况,从而解决了现有技术中的文件锁会死锁的问题。

图2A是本发明另一个实施例中提供的插件下载方法的方法流程图。本实施例以该插件下载方法应用于安装有宿主应用程序的终端中来举例说明,或者,应用于安装有宿主应用程序和非宿主应用程序的终端中来举例说明。如图2A所示,该插件下载方法包括:

步骤201,当第二进程请求下载安装插件时,检测与第二进程对应的应用程序是否为宿主应用程序。

由于宿主应用程序具有下载安装插件的权限,非宿主应用程序不具有下载安装插件的权限。因此当第二进程向操作系统请求下载安装插件时,操作系统先确定第二进程对应的应用程序是否为宿主应用程序,以确定出第二进程是否具有下载安装该插件的权限。

步骤202,当与第二进程对应的应用程序为宿主应用程序时,检测该插件是否已经安装在宿主应用程序中。

当第二进程对应的应用程序为宿主应用程序时,表明第二进程具备插件下载安装的权限。此时,操作系统允许第二进程下载安装该插件。在下载安装该插件之前,第二进程检测该插件是否已经安装在宿主应用程序中;当检测到该插件已经安装在宿主应用程序中时,第二进程可以直接使用该插件。

当插件尚未安装在宿主应用程序中时,则执行步骤203。

步骤203,当该插件尚未安装在宿主应用程序中时,检测是否存在与该插件对应的进程ID文件锁。

由于一个插件对应一个进程ID文件锁,因此,第二进程检测是否存在与该插件对应的进程ID文件锁;若不存在与该插件对应的进程ID文件锁,则进入步骤204;若存在与该插件对应的进程ID文件锁,则进入步骤205。

步骤204,当不存在与该插件对应的进程ID文件锁时,创建进程ID文件锁,并将第二进程的进程ID写入创建的进程ID文件锁,执行插件的下载安装流程。

当不存在与该插件对应的进程ID文件锁时,表明该插件没有被下载过,因此第二进程创建与插件对应的进程ID文件锁,并按照预定的命名规则命名该进程ID文件锁。进程ID文件锁的命名通常与插件相关,比如可以使用插件的K值来命名对应的进程ID文件锁。

第二进程在创建进程ID文件锁之后,将第二进程的进程ID写入该进程ID文件锁对第二进程上锁。

步骤205,当存在与该插件对应的进程ID文件锁时,检测与该插件对应的进程ID文件锁中是否存储有进程ID。

进程ID文件锁用于对存储的进程ID所对应的进程上锁,进程ID用于标识该进程。

若进程ID文件锁存在,则表明该插件被下载过或正在被下载,若是第一进程正常执行完插件的下载安装流程,在第一进程退出时第一进程会删除该进程ID文件锁中的进程ID或将进程ID修改为预定值(比如-1),因此,若第二进程检测到进程ID文件锁中没有进程ID或存储有预定值,则表明已经有第一进程将该插件下载安装完毕,并且正常退出,当第二进程需要使用到该插件时,可以直接使用已安装的插件,而不需要再次下载安装。

步骤206,当进程ID文件锁存储有第一进程的进程ID时,根据第一进程的进程ID向操作系统查询第一进程是否存在。

在正常情况下,第一进程在下载安装插件时,将第一进程的进程ID写入进程ID文件锁,由进程ID文件锁对第一进程上锁;第一进程在下载安装完毕后,将第一进程的进程ID从进程ID文件锁进行擦除,由进程ID文件锁对第一进程解锁。但是如果第一进程中途异常退出,则该第一进程的进程ID有可能会保留在进程ID锁中,未被及时擦除。

当进程ID文件锁中存储有第一进程的进程ID时,第二进程会继续根据第一进程ID向操作系统查询第一进程是否存在,从而确定第一进程是否处于正常运行状态。如果第一进程在操作系统中存在,则表明第一进程处于正常运行状态,第二进程退出;如果第一进程在操作系统中不存在,则表明第一进程在中途异常退出,进入步骤207。

步骤207,当第一进程不存在时,确定第一进程异常退出,将进程ID文件锁中存储的进程ID修改为第二进程的进程ID。

在第一进程上锁后,如果第一进程在执行插件下载安装流程的过程中发生异常退出,由于第一进程未能执行删除或修改进程ID文件锁中的进程ID的操作,导致进程ID文件锁中的进程ID依然存在,因此进程ID文件锁仍是上锁的状态,但插件的下载安装流程是被中断的。

当第一进程退出时,无论是正常退出或者异常退出,操作系统中都查询不到该第一进程。因此,若进程ID文件锁中的进程ID存在,但第二进程根据该进程ID向操作系统查询到第一进程不存在,则表明第一进程异常退出。

第二进程将第二进程的进程ID写入进程ID文件锁中,覆盖掉原来存储的第一进程的进程ID,则进程ID文件锁对第一进程解锁,重新对第二进程上锁。

步骤208,继续执行该插件的下载安装流程。

由于第一进程是异常退出的,可能已经下载了插件的部分数据,因此第二进程上锁后,第二进程可以按照已经下载好的数据,继续下载安装该插件,而不需要全部重新下载该插件。

可选的,第二进程继续执行插件的下载安装流程,可以包括如图2B所示的步骤:

步骤208a,通过共享内存获取第一进程的插件下载安装进度。

共享内存是第一进程和第二进程实现进程间通信的存储空间。

共享内存是操作系统的不同进程之间,实现进程间通信机制中的一种实现方式。

第一进程在执行插件的下载安装流程的过程中,第一进程会将插件的下载安装进度存储至共享内存,当第一进程异常退出时,第二进程可以到共享内存中获取到第一进程的插件的下载安装进度。

步骤208b,根据获取的插件下载安装进度继续下载安装该插件。

第二进程在获取到插件的下载安装进度后,可以按照已经下载的数据,继续下载安装插件。比如第一进程在插件下载到50%时异常退出,第二进程则会从50%继续下载后面的数据。

步骤208c,将该插件的下载安装进度记录到共享内存中。

第二进程在执行插件的下载安装流程时,也会同时将插件的下载安装进度存储至共享内存。

可选的,当第三进程请求下载安装插件时,若第三进程检测到第二进程正在执行插件的下载安装流程,则第三进程通过访问共享内存,可以高效地获取到插件的下载安装进度。

若第二进程正常执行完插件的下载安装流程,则第二进程会对进程ID文件锁解锁。可选地,第二进程通过步骤209或步骤210的方式来完成解锁。

步骤209,当下载安装流程执行完毕时,删除进程ID文件锁中的第二进程的进程ID。

第二进程删除进程ID文件锁中的进程ID。

步骤210,当下载安装流程执行完毕时,将进程ID文件锁中的第二进程的进程ID修改为预定值。

第二进程修改进程ID文件锁中的进程ID,即将进程ID修改为预定值,该预定值用于表示下载安装流程执行完毕。可选地,该预定值是一个实际上不存在的进程ID值,比如-1。

在实际应用中,只有宿主应用程序才具备下载安装插件的权限,但是当非宿主应用程序需要使用到插件时,对于非宿主应用程序如何使用插件的过程,请参见步骤211至步骤212的描述。

步骤211,当与第二进程对应的应用程序为非宿主应用程序时,检测该插件是否已经安装在宿主应用程序中。

由于非宿主应用程序不具备下载安装插件的权限,但可以共享宿主应用程序中已经安装的插件,因此第二进程检测宿主应用程序是否安装该插件。

步骤212,当该插件已经安装在宿主应用程序中时,从宿主应用程序中共享该插件。

若宿主应用程序没有安装该插件,则非宿主应用程序无法使用该插件。

对于本实施例中的插件下载方法,可以结合参考图2C所示的插件下载方法原理图。首先执行S201,判断是否是宿主应用程序;若S201的判断结果为是,则执行S202,判断插件是否安装;若S202的判断结果为否,则执行S203,判断进程ID文件锁是否存在;若S203的判断结果为是,则执行S204,判断进程ID是否存在;若S204的判断结果为是,则执行S205,判断进程ID对应的进程是否存在;若S205的判断结果为是,则执行S211,共享内存存储插件下载安装进度;若S201的判断结果为否,则执行S206,查询宿主应用程序是否安装该插件;若S206的判断结果为是,则执行S207,共享已安装的插件,成功结束;若S206的判断结果为否,则失败结束;若S203的判断结果为否,则执行S208,创建进程ID文件锁,写入本进程ID上锁,然后执行S210,执行插件下载安装流程,再执行S211,共享内存存储插件下载安装进度;若S205判断结果为否,则执行S209,写入本进程ID上锁,然后执行S210,执行插件下载安装流程,再执行S211,共享内存存储插件的下载安装进度。

综上所述,本发明实施例提供的插件下载方法,通过利用将第一进程的进程ID写入进程ID文件锁的方式对第一进程上锁,使得需要下载同一插件的第二进程能够根据进程ID文件锁中的进程ID到操作系统中查找第一进程是否存在,若不存在,表明第一进程已经在中途异常退出,则重新将第二进程的进程ID写入上锁,继续执行插件的下载安装流程,避免了上锁的第一进程异常退出后,其他的第二进程被挂起而无法继续执行插件的下载安装流程的情况,从而解决了现有技术中的文件锁会死锁的问题。

另外,通过检测是否存在与插件对应的进程ID文件锁,若不存在,第二进程可以快速确定出没有其他进程在下载安装该插件,则第二进程可以创建进程ID文件锁,并执行插件的下载安装流程。

另外,通过检测第二进程对应的应用程序是否为宿主应用程序,可以确定出第二进程是否具备插件的下载安装权限。

另外,通过在第二进程对应的应用程序为非宿主应用程序时,检测宿主应用程序是否安装该插件,若宿主应用程序安装该插件,则非宿主应用程序可以共享使用该插件。

另外,通过在执行插件的下载安装流程的同时,将插件的下载安装进度写入共享内存,使得其他需要使用该插件的进程能够通过访问共享内存,高效的获取到插件的下载安装进度信息。当第一进程异常退出时,第二进程从共享内存中获取到插件的下载安装进度,可以按照获取的下载安装进度继续下载安装该插件。

另外,通过在下载安装流程执行完毕时,删除或修改进程ID文件锁中的进程ID,使得需要使用该插件的其他进程通过在检测到进程ID文件锁中的进程ID不存在或为预定值时,确定出该插件已下载安装。

在实际应用场景中,网页浏览器能够为第三方应用程序提供网页浏览服务,网页浏览服务除了为第三方应用程序提供基本的网页浏览功能,还能够为第三方应用程序提供其他如视频播放、word文档打开、pdf文档打开等各种类型文件打开的扩展功能,为了避免网页浏览服务的安装包过大,扩展功能是通过动态下载插件的方式实现,即当第三方应用程序需要使用到某一扩展功能时,终端会向网页浏览器的服务器发送该扩展功能对应的插件下载请求,网页浏览器的服务器将插件的安装包发送至终端,在插件下载安装后,第三方应用程序即可使用该扩展功能。

本文中所讲的终端可以包括智能手机、平板电脑、膝上型便携计算机和台式计算机等,终端可以运行有包括宿主应用程序和非宿主应用程序的各种应用程序。

网页浏览器的服务器是用于提供网页浏览功能以及其他扩展功能的网络平台,服务器可以是一台服务器,或者是由若干服务器组成的服务器集群,服务器集群中的各个服务器之间的数据可以共享,也可以是云计算服务中心。本发明实施例对服务器的物理实现方式不加以限定。

终端与服务器之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。

由于只有宿主应用程序具备下载安装插件的权限,因此上述能够下载安装插件的第三方应用程序为宿主应用程序,另外,也只有宿主应用程序具备下载安装网页浏览服务内核的权限,并且可以将安装的网页浏览服务内核共享出去。非宿主应用程序也能使用网页浏览服务,但使用的是宿主应用程序共享的网页浏览服务内核与宿主应用程序已安装的插件。

需要说明的是,宿主应用程序之间的插件互不共享,即每个宿主应用程序单独下载安装插件,而不共享使用其他宿主应用程序的插件。

可选的,宿主应用程序包括即时通讯应用程序。

在即时通讯应用程序中,存在多个进程使用网页浏览服务浏览网页的情况,当多进程并发使用需要某一插件实现的功能,而该插件尚未下载安装时,会出现多进程下载安装插件的情况。在同一个应用程序中,相同插件的下载安装路径相同,当多个进程同时下载安装插件,会导致下载错误。

为了避免插件下载错误,第一个执行插件下载安装流程的第一进程创建与插件对应的进程ID文件锁,将第一进程的进程ID写入该进程ID文件锁上锁,并执行插件的下载安装流程,同时第一进程将插件的下载安装进度存储至共享内存,在第一进程执行完该插件的下载安装流程后,第一进程将进程ID文件锁中的进程ID删除或修改为预定值解锁,然后其他进程在需要使用该插件时,可以直接使用已安装的插件,无需再次下载。

若第一进程在执行插件的下载安装流程的过程中出错,第一进程则会异常退出,然后当有第二进程需要使用该插件实现的功能时,需要下载安装相同插件的第二进程进入,由于第一进程已创建与该插件对应的进程ID文件锁,则第二进程会检测到存在与该插件对应的进程ID文件锁,同时也会检测到该进程ID文件锁中存在进程ID,存在的进程ID即第一进程异常退出时由于没有解锁而未擦除的进程ID,第二进程根据该进程ID向操作系统查询与该进程ID对应的第一进程是否存在,由于第一进程异常退出,查询结果为不存在与该进程ID对应的第一进程,那么第二进程将第二进程的进程ID写入该进程ID文件锁上锁,并继续执行插件的下载安装流程。由于第一进程在发生错误退出之前已经执行插件的下载安装流程,可能已经下载了插件的部分数据,因此第二进程可以向共享内存获取插件的下载安装进度,根据下载安装进度继续下载该插件。在插件的下载安装过程中,第二进程同时将插件的下载安装进度存储至共享内存。当第二进程完成插件的下载安装流程后,第二进程将进程ID文件锁中第二进程的进程ID删除或修改为预定值解锁,然后其他进程在需要使用该插件时,可以直接使用已安装的插件,无需再次下载该插件。

图3是本发明一个实施例中提供的插件下载装置的结构方框图。本实施例以该插件下载装置应用于安装有宿主应用程序的终端中来举例说明,或者,应用于安装有宿主应用程序和非宿主应用程序的终端中来举例说明。如图3所示,该插件下载装置包括:第一检测模块310、查询模块320、第一修改模块330和下载模块340。

第一检测模块310,用于实现上述步骤101、步骤205以及其他任意隐含或公开的与检测相关的功能。

查询模块320,用于实现上述步骤102、步骤206以及其他任意隐含或公开的与查询相关的功能。

第一修改模块330,用于实现上述步骤103、步骤207以及其他任意隐含或公开的与修改相关的功能。

下载模块340,用于实现上述步骤104、步骤208以及其他任意隐含或公开的与下载相关的功能。

可选的,该装置还包括:第二检测模块、创建模块、第三检测模块、第四检测模块、第五检测模块、共享模块、删除模块和第二修改模块。

第二检测模块,用于实现上述步骤203以及其他任意隐含或公开的与检测相关的功能。

创建模块,用于实现上述步骤204以及其他任意隐含或公开的与创建相关的功能。

第三检测模块,用于实现上述步骤201以及其他任意隐含或公开的与检测相关的功能。

第四检测模块,用于实现上述步骤202以及其他任意隐含或公开的与检测相关的功能。

第五检测模块,用于实现上述步骤211以及其他任意隐含或公开的与检测相关的功能。

共享模块,用于实现上述步骤212以及其他任意隐含或公开的与共享相关的功能。

删除模块,用于实现上述步骤209以及其他任意隐含或公开的与删除相关的功能。

第二修改模块,用于实现上述步骤210以及其他任意隐含或公开的与检测相关的功能。

可选的,下载模块340,包括:获取单元、下载单元和记录单元。

获取单元,用于实现上述步骤208a以及其他任意隐含或公开的与获取相关的功能。

下载单元,用于实现上述步骤208b以及其他任意隐含或公开的与下载相关的功能。

记录单元,用于实现上述步骤208c以及其他任意隐含或公开的与记录相关的功能。

需要说明的是:上述实施例中提供的插件下载装置在下载插件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的插件下载装置与插件下载方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参见图4所示,其示出了本发明部分实施例中提供的插件下载装置的结构方框图。该插件下载装置400用于实施上述实施例提供的插件下载方法。本发明中的装置400可以包括一个或多个如下组成部分:用于执行计算机程序指令以完成各种流程和方法的处理器,用于信息和存储程序指令随机接入存储器(RAM)和只读存储器(ROM),用于存储数据和信息的存储器,I/O设备,界面,天线等。具体来讲:

装置400可以包括RF(Radio Frequency,射频)电路410、存储器420、输入单元430、显示单元440、传感器450、音频电路460、WiFi(wireless fidelity,无线保真)模块470、处理器480、电源482、摄像头490等部件。本领域技术人员可以理解,图4中示出的插件下载装置结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图4对装置400的各个构成部件进行具体的介绍:

RF电路410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器480处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路410还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。

存储器420可用于存储软件程序以及模块,处理器480通过运行存储在存储器420的软件程序以及模块,从而执行装置400的各种功能应用以及数据处理。存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据装置400的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元430可用于接收输入的数字或字符信息,以及产生与装置400的用户设置以及功能控制有关的键信号输入。具体地,输入单元430可包括触控面板431以及其他输入设备432。触控面板431,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板431上或在触控面板431附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板431可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器480,并能接收处理器480发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板431。除了触控面板431,输入单元430还可以包括其他输入设备432。具体地,其他输入设备432可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元440可用于显示由用户输入的信息或提供给用户的信息以及装置400的各种菜单。显示单元440可包括显示面板441,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板441。进一步的,触控面板431可覆盖显示面板441,当触控面板431检测到在其上或附近的触摸操作后,传送给处理器480以确定触摸事件的类型,随后处理器480根据触摸事件的类型在显示面板441上提供相应的视觉输出。虽然在图4中,触控面板431与显示面板441是作为两个独立的部件来实现装置400的输入和输入功能,但是在某些实施例中,可以将触控面板431与显示面板441集成而实现装置400的输入和输出功能。

装置400还可包括至少一种传感器450,比如陀螺仪传感器、磁感应传感器、光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板441的亮度,接近传感器可在装置400移动到耳边时,关闭显示面板441和/或背光。作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于装置400还可配置的气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路460、扬声器461,传声器462可提供用户与装置400之间的音频接口。音频电路460可将接收到的音频数据转换后的电信号,传输到扬声器461,由扬声器461转换为声音信号输出;另一方面,传声器462将收集的声音信号转换为电信号,由音频电路460接收后转换为音频数据,再将音频数据输出处理器480处理后,经RF电路410以发送给比如另一终端,或者将音频数据输出至存储器420以便进一步处理。

WiFi属于短距离无线传输技术,装置400通过WiFi模块470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块470,但是可以理解的是,其并不属于装置400的必须构成,完全可以根据需要在不改变公开的本质的范围内而省略。

处理器480是装置400的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器420内的数据,执行装置400的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器480可包括一个或多个处理单元;优选的,处理器480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器480中。

装置400还包括给各个部件供电的电源482(比如电池),优选的,电源可以通过电源管理系统与处理器480逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

摄像头490一般由镜头、图像传感器、接口、数字信号处理器、CPU、显示屏幕等组成。其中,镜头固定在图像传感器的上方,可以通过手动调节镜头来改变聚焦;图像传感器相当于传统相机的“胶卷”,是摄像头采集图像的心脏;接口用于把摄像头利用排线、板对板连接器、弹簧式连接方式与电子设备主板连接,将采集的图像发送给所述存储器420;数字信号处理器通过数学运算对采集的图像进行处理,将采集的模拟图像转换为数字图像并通过接口发送给存储器420。

尽管未示出,装置400还可以包括蓝牙模块等,在此不再赘述。

装置400除了包括一个或者多个处理器480,还包括有存储器,以及一个或者多个程序,其中一个或者多个程序存储于存储器中,并被配置成由一个或者多个处理器执行。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行上述插件下载方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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