应用程序安装装置和应用程序安装方法

文档序号:6382055阅读:257来源:国知局
专利名称:应用程序安装装置和应用程序安装方法
技术领域
本发明涉及应用程序下载和安装技术领域,具体而言,涉及一种应用程序安装装置和应用程序安装方法。
背景技术
应用程序的安装是使用应用程序不可或缺的环节,当需要调用应用程序中的某一个小功能时,需要花很长时间去安装新版本的应用程序。而且有时应用程序在使用过程中会发生损坏,运行应用程序时也需要重新下载该应用程序,十分浪费时间。传统的应用程序安装主要有两种方式
I.下载整个应用程序并将安装包中的所有文件进行安装注册;2.将应用程序分割成几个小的安装包(比如Microsoft的Office可以分为Word、Excel等安装包)进行下载,用户需要使用哪个功能则安装对应的安装包即可。当用户只需要使用应用程序的某个功能时,采用第一种方式需要下载整个安装包,十分浪费时间,并且可能下载了一些用户永远不会使用的功能,造成存储空间的浪费。而采用第二种方式也无法针对调用功能对应的文件进行下载,在下载小安装包时还是需要下载一些非必要的文件,难以使下载时间得到进一步优化。因此,需要一种新的应用程序安装技术,能够根据用户调用的功能下载相应的文件,提高应用程序的安装效率,减少存储空间的占用。

发明内容
本发明正是基于上述问题,提出了一种应用程序安装技术,能够根据用户调用的功能下载相应的文件,提闻应用程序的安装效率,减少存储空间的占用。有鉴于此,本发明提出了一种应用程序安装装置,包括获取单元,在终端运行应用程序过程中,当调用所述应用程序的目标功能时,用于通过拦截系统的应用程序编程接口获取所述目标功能对应文件的文件名和/或标识符;判断单元,用于根据所述文件名和/或标识符判断所述终端中是否存在所述对应文件,若存在,则所述终端调用所述功能;下载单元,用于在所述判断单元的判断结果为否的情况下,根据所述文件名和/或标识符将所述对应文件下载至所述终端;安装单元,用于在所述终端安装所述对应文件。在该技术方案中,当终端调用应用程序的某项功能时,而该功能对应的文件不存在,或该功能对应的文件损坏,则可以下载相应的文件,实现了有针对性的下载,避免了用户为使用一个应用程序的某项功能时而下载该应用程序的所有安装文件,提高了应用程序的安装效率,并且避免了下载不使用的功能所对应的文件而占用存储空间。 在上述技术方案中,优选地,所述下载单元通过二分查找法查找所述对应文件,并将所述对应文件下载至所述终端。在该技术方案中,可以首先从服务器读取数据到一个数组,然后通过二分查找法在该数组中查找调用的功能对应的文件,可以提高查找速度,进而提高应用程序的下载和安装速度。在上述技术方案中,优选地,所述下载单元还用于下载运行所述应用程序所需的文件;以及所述安装单元还用于在所述终端安装所述所需的文件。在该技术方案中,当终端第一次使用某个应用程序时,可以仅下载运行该应用程序必需的文件,并不下载该应用程序的所有安装文件,当终端运行该应用程序时,则可以根据具体调用的功能下载相应的文件并安装,提高应用程序的安装和使用效率。在上述技术方案中,优选地,还包括存储单元,用于将所述所需的文件保存至轻型数据库,并将所述下载单元下载的所述对应文件进行缓存。在该技术方案中,可以对下载的文件进行缓存,以解决多线程问题,还可以将运行 应用程序必需的文件存储至一个轻型数据库(比如Sqlite3数据库),便于查询该应用程序的注册类型、文件和路径等信息。在上述技术方案中,优选地,还包括卸载单元,用于根据所述轻型数据库中的所述所需的文件对所述应用程序进行卸载。在该技术方案中,可以从上述轻型数据库中查找应用程序的注册和注销文件,从而进行快速卸载,提闻卸载效率。根据本发明的又一方面,还提出了一种应用程序安装方法,包括步骤202,在终端运行应用程序过程中,当调用所述应用程序的目标功能时,通过拦截系统的应用程序编程接口获取所述目标功能对应文件的文件名和/或标识符;步骤204,根据所述文件名和/或标识符判断所述终端中是否存在所述对应文件;步骤206,若存在,则所述终端调用所述功能;步骤208,若不存在,则根据所述文件名和/或标识符将所述对应文件下载至所述终端,并在所述终端安装所述对应文件。在该技术方案中,当终端调用应用程序的某项功能时,而该功能对应的文件不存在,或该功能对应的文件损坏,则可以下载相应的文件,实现了有针对性的下载,避免了用户为使用一个应用程序的某项功能时而下载该应用程序的所有安装文件,提高了应用程序的安装效率,并且避免了下载不使用的功能所对应的文件而占用存储空间。在上述技术方案中,优选地,所述步骤208包括通过二分查找法查找所述对应文件,并将所述对应文件下载至所述终端。在该技术方案中,可以首先从服务器读取数据到一个数组,然后通过二分查找法在该数组中查找调用的功能对应的文件,可以提高查找速度,进而提高应用程序的下载和安装速度。在上述技术方案中,优选地,在所述步骤202之前,还包括下载运行所述应用程序所需的文件,并在所述终端安装所述所需的文件。在该技术方案中,当终端第一次使用某个应用程序时,可以仅下载运行该应用程序必需的文件,并不下载该应用程序的所有安装文件,当终端运行该应用程序时,则可以根据具体调用的功能下载相应的文件并安装,提高应用程序的安装和使用效率。在上述技术方案中,优选地,还包括将所述所需的文件保存至轻型数据库,以及将下载后的所述对应文件进行缓存。在该技术方案中,可以对下载的文件进行缓存,以解决多线程问题,还可以将运行应用程序必需的文件存储至一个轻型数据库(比如Sqlite3数据库),便于查询该应用程序的注册类型、文件和路径等信息。在上述技术方案中,优选地,还包括根据所述轻型数据库中的所述所需的文件对所述应用程序进行卸载。在该技术方案中,可以从上述轻型数据库中查找应用程序的注册和注销文件,从而进行快速卸载,提闻卸载效率。通过以上技术方案,能够根据用户调用的功能下载相应的文件,提高应用程序的安装效率,减少存储空间的占用。


图I示出了根据本发明的实施例的应用程序安装装置的框图;
图2示出了根据本发明的实施例的应用程序安装方法的流程图;图3示出了根据本发明的实施例的应用程序安装方法的具体流程图;图4示出了根据本发明的实施例的首次安装应用程序的流程图。图5A至图5G示出了根据本发明的实施例的应用程序下载的具体过程。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。图I示出了根据本发明的实施例的应用程序安装装置的框图。如图I所示,根据本发明的实施例的应用程序安装装置100包括获取单元102,在终端运行应用程序过程中,当调用应用程序的目标功能时,用于通过拦截系统的应用程序编程接口获取目标功能对应文件的文件名和/或标识符;判断单元104,用于根据文件名和/或标识符判断终端中是否存在对应文件,若存在,则终端调用该功能;下载单元106,用于在判断单元104的判断结果为否的情况下,根据文件名和/或标识符将对应文件下载至终端;安装单元108,用于在终端安装对应文件。当终端调用应用程序的某项功能时,而该功能对应的文件不存在,或该功能对应的文件损坏,则可以下载相应的文件,实现了有针对性的下载,避免了用户为使用一个应用程序的某项功能时而下载该应用程序的所有安装文件,提高了应用程序的安装效率,并且避免了下载不使用的功能所对应的文件而占用存储空间。优选地下载单元106通过二分查找法查找对应文件,并将对应文件下载至终端。可以首先从服务器读取数据到一个数组,然后通过二分查找法在该数组中查找调用的功能对应的文件,可以提高查找速度,进而提高应用程序的下载和安装速度。优选地,下载单元106还用于下载运行应用程序所需的文件;以及安装单元108还用于在终端安装所需的文件。当终端第一次使用某个应用程序时,可以仅下载运行该应用程序必需的文件,并不下载该应用程序的所有安装文件,当终端运行该应用程序时,则可以根据具体调用的功能下载相应的文件并安装,提高应用程序的安装和使用效率。优选地,根据本发明的实施例的应用程序安装装置100还包括存储单元110,用于将所需的文件保存至轻型数据库,并将下载单元106下载的对应文件进行缓存。可以对下载的文件进行缓存,以解决多线程问题,还可以将运行应用程序必需的文件存储至一个轻型数据库(比如Sqlite3数据库),便于查询该应用程序的注册类型、文件和路径等信息。优选地,根据本发明的实施例的应用程序安装装置100还包括卸载单元112,用于根据轻型数据库中的所需的文件对应用程序进行卸载。可以从上述轻型数据库中查找应用程序的注册和注销文件,从而进行快速卸载, 提高卸载效率。图2示出了根据本发明的实施例的应用程序安装方法的流程图。如图2所示,根据本发明的实施例的应用程序安装方法包括步骤202,在终端运行应用程序过程中,当调用应用程序的目标功能时,通过拦截系统的应用程序编程接口获取目标功能对应文件的文件名和/或标识符;步骤204,根据文件名和/或标识符判断终端中是否存在对应文件;步骤206,若存在,则终端调用该功能;步骤208,若不存在,则根据文件名和/或标识符将对应文件下载至终端,并在终端安装对应文件。当终端调用应用程序的某项功能时,而该功能对应的文件不存在,或该功能对应的文件损坏,则可以下载相应的文件,实现了有针对性的下载,避免了用户为使用一个应用程序的某项功能时而下载该应用程序的所有安装文件,提高了应用程序的安装效率,并且避免了下载不使用的功能所对应的文件而占用存储空间。优选地,步骤208包括通过二分查找法查找对应文件,并将对应文件下载至终端。可以首先从服务器读取数据到一个数组,然后通过二分查找法在该数组中查找调用的功能对应的文件,可以提高查找速度,进而提高应用程序的下载和安装速度。优选地,在步骤202之前,还包括下载运行应用程序所需的文件,并在终端安装所需的文件。当终端第一次使用某个应用程序时,可以仅下载运行该应用程序必需的文件,并不下载该应用程序的所有安装文件,当终端运行该应用程序时,则可以根据具体调用的功能下载相应的文件并安装,提高应用程序的安装和使用效率。优选地,根据本发明的实施例的应用程序安装方法还包括将所需的文件保存至轻型数据库,以及将下载后的对应文件进行缓存。可以对下载的文件进行缓存,以解决多线程问题,还可以将运行应用程序必需的文件存储至一个轻型数据库(比如Sqlite3数据库),便于查询该应用程序的注册类型、文件和路径等信息。优选地,根据本发明的实施例的应用程序安装方法还包括根据轻型数据库中的所需的文件对应用程序进行卸载。可以从上述轻型数据库中查找应用程序的注册和注销文件,从而进行快速卸载,提高卸载效率。
图3示出了根据本发明的实施例的应用程序安装方法的具体流程图。如图3所示,根据本发明的实施例的应用程序安装方法具体包括步骤302,终端启动应用程序,加载该应用程序运行所需文件;步骤304,使用拦截函数拦截终端调用的功能对应的文件,并获取文件名和/或标识符,当用户使用应用程序的某个功能时,终端可以到相应的目录下找相应文件,应用程序的每个文件都会被所对应的拦截函数进行拦截,其中,拦截函数是一些通过函数指针重写的系统(比如Windows)的应用程序编程接口(API),从而将已安装的所有文件都拦截下来;可以米用的重写的函数包括CoCreateInstanceEx O、CreateFile ()和GetFileAttributes O 等等;拦截函数的实现及调用主要分为三个步骤首先通过函数指针的方式重写Windows API函数,重写的主要目的是能在重写后的方法中加入自己的操作,对文件进行过滤,下载;然后实现拦截,声明拦截函数,加入处理文件的操作;最后在程序主方法中调用拦截函数,包括“拦截”和“释放”两方面。下边以DWORD WINAPI GetFileAttributes(LPCWSTR Ip FileName)来说明在Visual C++中拦截函数的实现及调用过程,首先重写GetFileAttributes (LPCffSTRIpFileName)函数static DWORD(STDMETHODCALLTYPE*Real_GetFiIeAttributes)(LPCWSTR IpFileName)=GetFileAttributes;实现拦截函数
权利要求
1.一种应用程序安装装置,其特征在于,包括 获取单元,在终端运行应用程序过程中,当调用所述应用程序的目标功能时,用于通过拦截系统的应用程序编程接口获取所述目标功能对应文件的文件名和/或标识符; 判断单元,用于根据所述文件名和/或标识符判断所述终端中是否存在所述对应文件,若存在,则所述终端调用所述功能; 下载单元,用于在所述判断单元的判断结果为否的情况下,根据所述文件名和/或标识符将所述对应文件下载至所述终端; 安装单元,用于在所述终端安装所述对应文件。
2.根据权利要求I所述的应用程序安装装置,其特征在于,所述下载单元通过二分查找法查找所述对应文件,并将所述对应文件下载至所述终端。
3.根据权利要求I所述的应用程序安装装置,其特征在于,所述下载单元还用于下载运行所述应用程序所需的文件;以及所述安装单元还用于在所述终端安装所述所需的文件。
4.根据权利要求3所述的应用程序安装装置,其特征在于,还包括 存储单元,用于将所述所需的文件保存至轻型数据库,并将所述下载单元下载的所述对应文件进行缓存。
5.根据权利要求4所述的应用程序安装装置,其特征在于,还包括 卸载单元,用于根据所述轻型数据库中的所述所需的文件对所述应用程序进行卸载。
6.一种应用程序安装方法,其特征在于,包括 步骤202,在终端运行应用程序过程中,当调用所述应用程序的目标功能时,通过拦截系统的应用程序编程接口获取所述目标功能对应文件的文件名和/或标识符; 步骤204,根据所述文件名和/或标识符判断所述终端中是否存在所述对应文件; 步骤206,若存在,则所述终端调用所述功能; 步骤208,若不存在,则根据所述文件名和/或标识符将所述对应文件下载至所述终端,并在所述终端安装所述对应文件。
7.根据权利要求6所述的应用程序安装方法,其特征在于,所述步骤208包括通过二分查找法查找所述对应文件,并将所述对应文件下载至所述终端。
8.根据权利要求6所述的应用程序安装方法,其特征在于,在所述步骤202之前,还包括下载运行所述应用程序所需的文件,并在所述终端安装所述所需的文件。
9.根据权利要求8所述的应用程序安装方法,其特征在于,还包括将所述所需的文件保存至轻型数据库,以及将下载后的所述对应文件进行缓存。
10.根据权利要求9所述的应用程序安装方法,其特征在于,还包括根据所述轻型数据库中的所述所需的文件对所述应用程序进行卸载。
全文摘要
本发明提供了一种应用程序安装装置,包括获取单元,在终端运行应用程序过程中,当调用应用程序的目标功能时,用于通过拦截系统的应用程序编程接口获取目标功能对应文件的文件名和/或标识符;判断单元,用于根据文件名和/或标识符判断终端中是否存在对应文件,若存在,则终端调用该功能;下载单元,用于在判断单元的判断结果为否的情况下,根据文件名和/或标识符将对应文件下载至终端;安装单元,用于在终端安装对应文件。本发明还提出了一种应用程序安装方法。通过本发明的技术方案,能够根据用户调用的功能下载相应的文件,提高应用程序的安装效率,减少存储空间的占用。
文档编号G06F9/445GK102968321SQ20121047944
公开日2013年3月13日 申请日期2012年11月22日 优先权日2012年11月22日
发明者张 雄, 张劲涛 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1