一种应用程序的安装方法和装置制造方法

文档序号:6637960阅读:210来源:国知局
一种应用程序的安装方法和装置制造方法
【专利摘要】本发明实施例提供了一种应用程序的安装方法和装置,所述方法包括:当接收到应用程序的安装请求时,启动虚拟桌面;在所述虚拟桌面中,由安装引擎分别获取所述应用程序对应的安装包及安装执行脚本;所述安装执行脚本包括至少一帧基于所述安装包在其安装过程中的安装界面图生成的特征图片;由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。本发明实施例实现了安装界面为非标准界面的应用程序的安装,无需用户手动安装,大大提高了操作的简便性,减少安装耗时。
【专利说明】_种应用程序的安装方法和装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及一种应用程序的安装方法和一种应用程序的安装装置。

【背景技术】
[0002]随着互联网技术的不断发展,人们开发了各种功能丰富的应用程序,例如,即时通讯工具、音频播放器、视频播放器、日历工具等等,给人们的生活带来许多便利。
[0003]在操作系统下,由于应用程序的安装包可以通过开发商自定义制作,从而导致安装包各式各样,操作也各不尽相同。
[0004]目前,可以通过模拟点击安装应用程序的相关安装操作按钮实现自动安装,但选择操作的按钮必须要有句柄(Handle),即是基于安装包操作界面按钮的方式进行模拟点击。
[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]图1示出了根据本发明一个实施例的一种应用程序的安装方法实施例1的步骤流程图;
[0079]图2示出了根据本发明一个实施例的一种应用程序安装界面图的示例图;
[0080]图3示出了根据本发明一个实施例的一种应用程序安装界面图的示例图;
[0081]图4A和图4B示出了根据本发明一个实施例的一种应用程序安装界面图的示例图;以及
[0082]图5示出了根据本发明一个实施例的一种应用程序的安装方法实施例2的步骤流程图;
[0083]图6示出了根据本发明一个实施例的一种应用程序的安装装置实施例的结构框图。

【具体实施方式】
[0084]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0085]参照图1,示出了根据本发明一个实施例的一种应用程序的安装方法实施例1的步骤流程图,具体可以包括如下步骤:
[0086]步骤101,当接收到应用程序的安装请求时,启动虚拟桌面;
[0087]需要说明的是,本发明实施例可以针对采用图像数据等不具有句柄的对象作为安装界面的应用程序,也可以针对采用窗口的等具有句柄的对象作为安装界面的应用程序,本发明实施例对此不加以限制。
[0088]在本发明实施例中,应用程序的安装请求可以指用户发出的按照某个安装模式安装某个应用程序的指示。
[0089]例如,可以在UI (User Interface,用户界面)中展示一个或多个应用程序的图标、名称、版本等信息,并提供一个控件,通过触控、点击、hover(悬停)等操作触发该控件,以展示一个或多个安装模式,当用户点击该安装模式时,相当于接收到了应用程序的安装请求。
[0090]需要说明的是,安装模式可以是指按照一定策略安装应用程序的方式。
[0091]例如,若应用程序的安装包中包括了插件,在使用安装包进行安装时,若去除该插件进行安装,这种安装模式可以称为去插件安装。
[0092]又例如,若应用程序的安装包中捆绑有其他应用程序,在使用安装包进行安装时,若去除捆绑的其他应用程序进行安装,这种安装模式可以称为去捆绑安装。
[0093]又例如,若应用程序的安装包中包括了多个组件,在使用安装包安装时,若去除某几个不重要的组件进行安装,以保留基本的功能,这种安装模式可以称为简洁安装。
[0094]又例如,若应用程序的安装包中包括了多个组件,在使用安装包安装时,若按照制作该应用程序的企业的推荐,选择部分组件都进行安装,以保留重要的功能,这种安装模式可以称为典型安装。
[0095]又例如,若应用程序的安装包中包括了多个组件,在使用安装包安装时,若全部组件都进行安装,以获取全部的功能,这种安装模式可以称为完整安装。
[0096]在实际应用中,本领域技术人员可以根据实际需要设定应用程序的安装模式,如去插件安装、去捆绑安装、简洁安装、典型安装、完整安装中的几种可以混合使用,本发明实施例对此不加以限制。
[0097]若接收到应用程序的安装请求,则可以启动虚拟桌面。
[0098]—般而言,在操作系统中,可以创建多桌面扩展,使用户或程序可以在多个桌面上相互切换可视化的应用。
[0099]例如,在Windows 操作系统中,其 API (Applicat1n Program Interface,应用程序编程接口)中提供了 CreateDesktop函数来创建新的虚拟桌面,通过SwitchDesktop函数可以转入到指定的桌面,在新创建的虚拟桌面中可以打开进程explorer, exe,CreateProcess有个TStartupInfo结构的参数,该结构中有个叫lpDesktop的成员,它指定了在哪个桌面(如虚拟桌面)创建进程(如安装引擎的进程)。
[0100]通常,在多桌面扩展中,只有一个桌面可见。
[0101]在本发明实施例中,已有桌面可以对用户可见,具有可见性;新启动的虚拟桌面可以对用户不可见,具有不可见性。
[0102]当然,新启动的虚拟桌面也可以对用户可见,具有可见性,本发明实施例对此不加以限制。
[0103]在虚拟桌面中进行应用程序的安装,可以避免在安装过程中与用户的其他操作造成冲突,减少了安装错误的发生。
[0104]步骤102,在所述虚拟桌面中,由安装引擎分别获取所述应用程序对应的安装包及安装执行脚本;
[0105]在本发明实施例中,可以在虚拟桌面中,开启安装引擎,以进行应用程序的安装。
[0106]安装包(Install pack),是可自行解压缩文件的集合,其中包括应用程序安装所需的文件。
[0107]运行这个安装包,可以将此应用程序的文件释放到硬盘上,完成修改注册表、修改系统设置、创建快捷方式等工作。
[0108]安装包一般为可执行文件,例如,在Windows操作系统中可以为exe文件,在Android操作系统中可以为APK文件等等。
[0109]所述安装执行脚本可以包括至少一帧基于所述安装包在其安装过程中的安装界面图生成的特征图片。
[0110]在本发明的一种可选实施例中,安装执行脚本可以通过以下方式生成:
[0111]子步骤S11,从所述应用程序的安装包中提取一帧或多帧安装界面图;
[0112]安装界面图,可以为在安装过程中,用于让用户进行选择或展示安装过程/结果等信息的界面。
[0113]例如,在某个音乐播放器的安装包中,可以提取如下图所示的安装界面图。
[0114]如图2所示的安装界面图200,该安装界面图200为安装起始的界面,其提供了具有缩小功能的界面区域图201、具有关闭功能的界面区域图202、具有指示安装功能的界面区域图203、具有用户授权功能的界面区域图204、具有选择安装目录功能的界面区域图205。
[0115]如图3所示的安装界面图300,该安装界面图300为安装过程的界面,其提供了具有展示安装进度的界面区域图301。
[0116]如图4A所示的安装界面图400,该安装界面图200为安装结果的界面,其提供了具有安装名称为“大师”的应用程序的功能的界面区域图401、具有安装名称为“工具栏”的应用程序的功能的界面区域图402、具有安装名称为“安全产品”的应用程序的功能的界面区域图403、具有安装名称为“影音”的应用程序的功能的界面区域图404、具有开机运行音乐播放器功能的界面区域图405、具有运行音乐播放器功能的界面区域图406、具有指示完成安装的界面区域图407。
[0117]需要说明的是,若用户点击界面区域图205,则可以跳转到选择安装目录的安装界面图(附图中未示出);在点击界面区域图407时,界面区域图401为选中(即打钩)状态,则可以跳转到“大师”的安装过程,其具有另外的安装界面图(附图中未示出)等等。
[0118]子步骤S12,将所述一帧或多帧安装界面图组合成一个或多个安装模式集合;
[0119]需要说明的是,所述安装模式集合可以为将指定的一帧或多帧安装界面图按照指定的安装模式的操作顺序组合成的集合。
[0120]例如,若某音乐播放器的安装模式为简洁安装,可以去除“大师”、“工具栏”、“安全产品”、“影音”等应用程序的安装,去除开机运行等设置,则可以将如图2所示安装界面图200、如图3所示安装界面图300、如图4A所示安装界面图400组合成一个安装模式集合。
[0121]又例如,若某音乐播放器的安装模式为完整安装,可以保留“大师”、“工具栏”、“安全产品”、“影音”等应用程序的安装,保留开机运行等设置,则可以将如图2所示安装界面图200、如图3所示安装界面图300、如图4A所示安装界面图400、“大师”、“工具栏”、“安全产品”、“影音”等应用程序的安装界面图组合成一个安装模式集合。
[0122]子步骤S13,在每一个安装模式集合中,从每一帧安装界面图中提取所述安装模式集合对应的一帧或多帧特征图片;
[0123]特征图片,可以为在安装过程中,执行指定安装模式所需操作的界面区域图,例如,按钮、编辑框等等。
[0124]例如,若某音乐播放器应用简洁安装的安装模式,对于如图2所示的安装界面图200,由于无需操作缩小、关闭功能,则界面区域图201和界面区域图202可以不作为特征图片提取,由于指示进行安装是必须的,则界面区域图203需要作为特征图片提取,由于用户授权是默认选中(即打钩)状态,则界面区域图204可以不作为特征图片提取,由于安装目录可以是默认的目录,则界面区域图205可以不作为特征图片提取。
[0125]对于如图3所示的安装界面图300,由于无需操作,无需提取特征图片。
[0126]对于如图4所示的安装界面图400,由于需“大师”、“工具栏”、“安全产品”、“影音”等应用程序的安装,界面区域图401、界面区域图402、界面区域图403、界面区域图404可以不作为特征图片提取,由于音乐播放器无需开机启动,界面区域图405可以不作为特征图片提取,由于音乐播放器无需立即启动,界面区域图406可以不作为特征图片提取,由于需要指示完成安装,界面区域图407可以作为特征图片提取。
[0127]在实际应用中,本领域技术人员可以根据实际情况提取所需的特征图片,例如,若音乐播放器用户授权是默认不选中(即未打钩)状态,则界面区域图204需要操作,应作为特征图片提取,若音乐播放器可以开机启动,界面区域图405可以不作为特征图片提取等等,本发明实施例对此不加以限制。
[0128]子步骤S14,将针对所述一个或多个安装模式集合,分别按照操作顺序将所述一帧或多帧特征图片生成一个或多个安装执行脚本。
[0129]由于在安装过程中,不同的界面区域图具有相对固定的操作顺序,才可以实现正确的安装,因此,在生成安装执行脚本时,可以将特征图片按照正确的操作流程进行排序。
[0130]例如,若音乐播放器应用简洁安装的安装模式,提取了界面区域图203、界面区域图401、界面区域图402、界面区域图403、界面区域图404、界面区域图405、界面区域图407作为特征图片。在安装过程中,界面区域图203的操作顺序最前,界面区域图401、界面区域图402、界面区域图403、界面区域图404和界面区域图405的操作顺序次之,界面区域图407的操作顺序最迟。而界面区域图401、界面区域图402、界面区域图403、界面区域图404和界面区域图405之间的操作顺序可以是任意的组合。
[0131]在本发明的一种可选实施例中,安装执行脚本还可以通过以下方式生成:
[0132]子步骤S15,对所述一帧或多帧特征图片进行图像处理;
[0133]子步骤S16,对所述一个或多个安装执行脚本进行压缩处理。
[0134]在本发明实施例中,可以对图像进行图像处理,如轮廓提取等,以减少安装执行脚本的大小,以及,对安装执行脚本本身进行压缩处理,以加快安装执行脚本的网络传输速度。
[0135]在本发明的一种可选实施例中,步骤102可以包括如下子步骤:
[0136]子步骤S21,从所述安装请求提取安装模式;
[0137]子步骤S22,从服务器下载所述安装模式对应的安装执行脚本。
[0138]本发明实施例将安装执行脚本存放在服务器中,减少了本地系统的资源占用,月艮务器可以快速对应用程序的安装包变化做出反应,对安装执行脚本进行修改,保证了安装执行脚本的准确性。
[0139]在具体实现中,可以根据用户需求下载对应的安装执行脚本,以按照指定的安装模式进行安装。
[0140]例如,用户指定去插件安装,则可以下载实现去插件安装的安装执行脚本,若用户指定简洁安装,则可以下载实现简洁安装的安装执行脚本等等。
[0141]当然,本发明实施例也可以将同一应用程序的不同安装执行脚本合成一个总的安装执行脚本,以减少服务器的运算负担,本地的安装引擎可以从总的安装执行脚本解析出实现所需安装模式的安装执行脚本。
[0142]步骤103,由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;
[0143]在具体实现中,安装引擎可以运行安装包,进行应用程序的安装。
[0144]在本发明的一种可选实施例中,所述安装界面图包括一个或多个界面区域图;则在本发明实施例中,步骤103可以包括如下子步骤:
[0145]子步骤S31,计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度;
[0146]子步骤S32,当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
[0147]在本发明实施例中,可以提取特征图片与界面区域图中的特征信息进行相似度的计算。
[0148]其中,特征信息可以包括形状特征信息和颜色特征信息中的至少一种;形状特征信息可以指表征图像形状特性的信息,颜色特征信息可以指表征图像颜色特性的信息。
[0149]形状特征信息的表示方法主要有两类,一类是区域特征,其主要针对图像的整个形状区域;另一类是轮廓特征,其针对的是物体的外边界。
[0150]提取形状特征信息的典型方法包括边界特征值法(图像的外边界)、几何参数法(图像几何参数化处理)、形状不变矩法(找图像不变矩特征)、傅里叶形状描述法(傅里叶变换法)等等。
[0151]颜色特征信息可以是通过图像或图像区域的颜色特征来描述,它具有整体性。
[0152]提取颜色特征信息的典型方法包括颜色直方图、颜色集、颜色矩等等。
[0153]当然,上述特征信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他特征信息,本发明实施例对此不加以限制。
[0154]当相似度大于预设的相似度阈值时,则可以判断特征图片与界面区域图匹配成功。
[0155]步骤104,在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
[0156]若匹配成功,则可以表示该安装界面图处进行操作,由安装引擎生成安装触发指令,模拟操作。
[0157]在本发明的一种可选实施例中,步骤104可以包括如下子步骤:
[0158]子步骤S41,由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
[0159]在本发明实施例中,安装触发指令可以为生成界面区域图的点击事件,以模拟点击操作,按照操作顺序一步一步进行应用程序的安装。
[0160]例如,若在安装过程中,按照特征图片的操作顺序,识别出特征图片与如图2所示的界面区域图203匹配,则可以在界面区域图203中模拟点击操作,以指示进行安装;识别出特征图片与如图4A所示的界面区域图401、界面区域图402、界面区域图403、界面区域图404、界面区域图405匹配,则如图4B所示,可以分别在界面区域图401、界面区域图402、界面区域图403、界面区域图404、界面区域图405中模拟点击操作,以去除“大师”、“工具栏”、“安全产品”、“影音”等应用程序默认的安装选项,以及,去除开机启动选项;识别出特征图片与如图4A所示的界面区域图407匹配,则可以在界面区域图407中模拟点击操作,以指示完成应用程序的安装。
[0161]本发明实施例在接收到应用程序的安装请求时,启动虚拟桌面,在虚拟桌面中,由安装引擎分别获取应用程序对应的安装包及安装执行脚本,由安装引擎使用安装执行脚本的特征图片与安装包运行过程中的安装界面图进行匹配,在匹配成功时,由安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成应用程序的安装,实现了安装界面为非标准界面的应用程序的安装,无需用户手动安装,大大提高了操作的简便性,减少安装耗时。
[0162]参照图5,示出了根据本发明一个实施例的一种应用程序的安装方法实施例2的步骤流程图,具体可以包括如下步骤:
[0163]步骤501,当接收到应用程序的安装请求时,启动虚拟桌面;
[0164]步骤502,在所述虚拟桌面中,由安装引擎分别获取所述应用程序对应的安装包及安装执行脚本;
[0165]其中,所述安装执行脚本包括至少一帧基于所述安装包在其安装过程中的安装界面图生成的特征图片;
[0166]步骤503,当安装多个应用程序时,由所述安装引擎启动多个子进程或子线程;
[0167]进程(Process)是操作系统结构的基础,可以是一个正在执行的程序;可以是计算机中正在运行的程序实例;可以是可以分配给处理器并由处理器执行的一个实体;可以是由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。
[0168]线程(thread),有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。
[0169]在单个程序中同时运行多个子进程完成不同的工作,可以称为多进程。
[0170]在单个程序中同时运行多个子线程完成不同的工作,可以称为多线程。
[0171]步骤504,在每个子进程或子线程中,使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;
[0172]在本发明的一种可选实施例中,所述安装界面图可以包括一个或多个界面区域图,则在本发明实施例中,步骤504可以包括如下子步骤:
[0173]子步骤S51,在每个子进程或子线程中,分别计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度;
[0174]子步骤S52,当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
[0175]步骤505,在每个子进程或子线程中,在匹配成功时,针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
[0176]在本发明的一种可选实施例中,步骤505可以包括如下子步骤:
[0177]子步骤S61,在每个子进程或子线程中,由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
[0178]在本发明实施例中,由于子步骤S51、S52与子步骤S31、S32,子步骤S61与子步骤S41的应用基本相似,所以描述的比较简单,相关之处参见子步骤S31、S32与子步骤S41的部分说明即可,本发明实施例在此不加以详述。
[0179]本发明实施例在安装多个应用程序时,由安装引擎启动多个子进程或子线程,在每个子进程或子线程中,使用至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配,在匹配成功时,针对匹配的安装界面图处生成对应的安装触发指令,通过子进程或子线程的并发安装操作,大大减少了安装耗时,进而提高了安装效率。
[0180]对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0181]参照图6,示出了根据本发明一个实施例的一种应用程序的安装装置实施例的结构框图,具体可以包括如下模块:
[0182]启动模块601,适于在接收到应用程序的安装请求时,启动虚拟桌面;
[0183]获取模块602,适于在所述虚拟桌面中,由安装引擎分别获取所述应用程序对应的安装包及安装执行脚本;所述安装执行脚本包括至少一帧基于所述安装包在其安装过程中的安装界面图生成的特征图片;
[0184]匹配模块603,适于由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;
[0185]生成模块604,适于在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
[0186]在本发明的一种可选实施例中,所述安装执行脚本可以通过以下方式生成:
[0187]从所述应用程序的安装包中提取一帧或多帧安装界面图;
[0188]将所述一帧或多帧安装界面图组合成一个或多个安装模式集合;
[0189]在每一个安装模式集合中,从每一帧安装界面图中提取所述安装模式集合对应的一帧或多帧特征图片;
[0190]针对所述一个或多个安装模式集合,分别按照操作顺序将所述一帧或多帧特征图片生成一个或多个安装执行脚本。
[0191]在本发明的一种可选实施例中,所述安装执行脚本还可以通过以下方式生成:
[0192]对所述一帧或多帧特征图片进行图像处理;
[0193]对所述一个或多个安装执行脚本进行压缩处理。
[0194]在本发明的一种可选实施例中,所述安装模式集合可以为将指定的一帧或多帧安装界面图按照指定的安装模式的操作顺序组合成的集合。
[0195]在本发明的一种可选实施例中,所述获取模块601还可以适于:
[0196]从所述安装请求提取安装模式;
[0197]从服务器下载所述安装模式对应的安装执行脚本。
[0198]在本发明的一种可选实施例中,所述安装界面图可以包括一个或多个界面区域图;所述匹配模块603还可以适于包括:
[0199]计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度;
[0200]当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
[0201]在本发明的一种可选实施例中,所述生成模块604还可以适于:
[0202]由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
[0203]在本发明的一种可选实施例中,所述匹配模块603还可以适于包括:
[0204]当安装多个应用程序时,由所述安装引擎启动多个子进程或子线程;
[0205]在每个子进程或子线程中,使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;
[0206]所述生成模块604还可以适于:
[0207]在每个子进程或子线程中,在匹配成功时,针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
[0208]在本发明的一种可选实施例中,所述匹配模块603还可以适于包括:
[0209]在每个子进程或子线程中,分别计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度;
[0210]当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
[0211]在本发明的一种可选实施例中,所述生成模块604还可以适于:
[0212]在每个子进程或子线程中,由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
[0213]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0214]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0215]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0216]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0217]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0218]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0219]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用程序的安装设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0220]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0221]本发明实施例公开了 A1、一种应用程序的安装方法,包括:
[0222]当接收到应用程序的安装请求时,启动虚拟桌面;
[0223]在所述虚拟桌面中,由安装引擎分别获取所述应用程序对应的安装包及安装执行脚本;所述安装执行脚本包括至少一帧基于所述安装包在其安装过程中的安装界面图生成的特征图片;
[0224]由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;
[0225]在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
[0226]A2、如A1所述的方法,所述安装执行脚本通过以下方式生成:
[0227]从所述应用程序的安装包中提取一帧或多帧安装界面图;
[0228]将所述一帧或多帧安装界面图组合成一个或多个安装模式集合;
[0229]在每一个安装模式集合中,从每一帧安装界面图中提取所述安装模式集合对应的一帧或多帧特征图片;
[0230]针对所述一个或多个安装模式集合,分别按照操作顺序将所述一帧或多帧特征图片生成一个或多个安装执行脚本。
[0231]A3、如A2所述的方法,所述安装执行脚本还通过以下方式生成:
[0232]对所述一帧或多帧特征图片进行图像处理;
[0233]对所述一个或多个安装执行脚本进行压缩处理。
[0234]A4、如A2或A3所述的方法,所述安装模式集合为将指定的一帧或多帧安装界面图按照指定的安装模式的操作顺序组合成的集合。
[0235]A5、如A1或A2或A3所述的方法,所述在所述虚拟桌面中,安装引擎分别获取所述应用程序对应的安装包及安装执行脚本的步骤包括:
[0236]从所述安装请求提取安装模式;
[0237]从服务器下载所述安装模式对应的安装执行脚本。
[0238]A6、如A1所述的方法,所述安装界面图包括一个或多个界面区域图;
[0239]所述由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配的步骤包括:
[0240]计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度;
[0241]当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
[0242]A7、如A6所述的方法,所述由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装的步骤包括:
[0243]由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
[0244]A8、如A1所述的方法,所述由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配的步骤包括:
[0245]当安装多个应用程序时,由所述安装引擎启动多个子进程或子线程;
[0246]在每个子进程或子线程中,使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;
[0247]所述在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装的步骤包括:
[0248]在每个子进程或子线程中,在匹配成功时,针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
[0249]A9、如A8所述的方法,所述安装界面图包括一个或多个界面区域图,所述在每个子进程或子线程中,使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配的步骤包括:
[0250]在每个子进程或子线程中,分别计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度;
[0251]当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
[0252]A10、如A8所述的方法,所述在每个子进程或子线程中,在匹配成功时,针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装的步骤包括:
[0253]在每个子进程或子线程中,由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
[0254]本发明实施例还公开了 B11、一种应用程序的安装装置,包括:
[0255]启动模块,适于在接收到应用程序的安装请求时,启动虚拟桌面;
[0256]获取模块,适于在所述虚拟桌面中,由安装引擎分别获取所述应用程序对应的安装包及安装执行脚本;所述安装执行脚本包括至少一帧基于所述安装包在其安装过程中的安装界面图生成的特征图片;
[0257]匹配模块,适于由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;
[0258]生成模块,适于在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
[0259]B12、如B11所述的装置,所述安装执行脚本通过以下方式生成:
[0260]从所述应用程序的安装包中提取一帧或多帧安装界面图;
[0261]将所述一帧或多帧安装界面图组合成一个或多个安装模式集合;
[0262]在每一个安装模式集合中,从每一帧安装界面图中提取所述安装模式集合对应的一帧或多帧特征图片;
[0263]针对所述一个或多个安装模式集合,分别按照操作顺序将所述一帧或多帧特征图片生成一个或多个安装执行脚本。
[0264]B13、如B12所述的装置,所述安装执行脚本还通过以下方式生成:
[0265]对所述一帧或多帧特征图片进行图像处理;
[0266]对所述一个或多个安装执行脚本进行压缩处理。
[0267]B14、如B12或B13所述的装置,所述安装模式集合为将指定的一帧或多帧安装界面图按照指定的安装模式的操作顺序组合成的集合。
[0268]B15、如B11或B12或B13所述的装置,所述获取模块还适于:
[0269]从所述安装请求提取安装模式;
[0270]从服务器下载所述安装模式对应的安装执行脚本。
[0271]B16、如B11所述的装置,所述安装界面图包括一个或多个界面区域图;所述匹配模块还适于包括:
[0272]计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度;
[0273]当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
[0274]B17、如B16所述的装置,所述生成模块还适于:
[0275]由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
[0276]B18、如B11所述的装置,所述匹配模块还适于:
[0277]当安装多个应用程序时,由所述安装引擎启动多个子进程或子线程;
[0278]在每个子进程或子线程中,使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配;
[0279]所述生成模块还适于:
[0280]在每个子进程或子线程中,在匹配成功时,针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
[0281]B19、如B18所述的装置,所述匹配模块还适于:
[0282]在每个子进程或子线程中,分别计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度;
[0283]当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
[0284]B20、如B18所述的装置,所述生成模块还适于:
[0285]在每个子进程或子线程中,由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
【权利要求】
1.一种应用程序的安装方法,包括: 当接收到应用程序的安装请求时,启动虚拟桌面; 在所述虚拟桌面中,由安装引擎分别获取所述应用程序对应的安装包及安装执行脚本;所述安装执行脚本包括至少一帧基于所述安装包在其安装过程中的安装界面图生成的特征图片; 由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配; 在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
2.如权利要求1所述的方法,其特征在于,所述安装执行脚本通过以下方式生成: 从所述应用程序的安装包中提取一帧或多帧安装界面图; 将所述一帧或多帧安装界面图组合成一个或多个安装模式集合; 在每一个安装模式集合中,从每一帧安装界面图中提取所述安装模式集合对应的一帧或多帧特征图片; 针对所述一个或多个安装模式集合,分别按照操作顺序将所述一帧或多帧特征图片生成一个或多个安装执行脚本。
3.如权利要求2所述的方法,其特征在于,所述安装执行脚本还通过以下方式生成: 对所述一帧或多帧特征图片进行图像处理; 对所述一个或多个安装执行脚本进行压缩处理。
4.如权利要求2或3所述的方法,其特征在于,所述安装模式集合为将指定的一帧或多帧安装界面图按照指定的安装模式的操作顺序组合成的集合。
5.如权利要求1或2或3所述的方法,其特征在于,所述在所述虚拟桌面中,安装引擎分别获取所述应用程序对应的安装包及安装执行脚本的步骤包括: 从所述安装请求提取安装模式; 从服务器下载所述安装模式对应的安装执行脚本。
6.如权利要求1所述的方法,其特征在于,所述安装界面图包括一个或多个界面区域图; 所述由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配的步骤包括: 计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度; 当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
7.如权利要求6所述的方法,其特征在于,所述由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装的步骤包括: 由所述安装引擎针按照操作顺序对匹配成功的界面区域图生成点击事件,以完成所述应用程序的安装。
8.如权利要求1所述的方法,其特征在于,所述由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配的步骤包括: 当安装多个应用程序时,由所述安装引擎启动多个子进程或子线程; 在每个子进程或子线程中,使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配; 所述在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装的步骤包括: 在每个子进程或子线程中,在匹配成功时,针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
9.如权利要求8所述的方法,其特征在于,所述安装界面图包括一个或多个界面区域图,所述在每个子进程或子线程中,使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配的步骤包括: 在每个子进程或子线程中,分别计算所述至少一帧的特征图片与所述一个或多个界面区域图的相似度; 当所述相似度大于预设的相似度阈值时,判断所述特征图片与所述界面区域图匹配成功。
10.一种应用程序的安装装置,包括: 启动模块,适于在接收到应用程序的安装请求时,启动虚拟桌面; 获取模块,适于在所述虚拟桌面中,由安装引擎分别获取所述应用程序对应的安装包及安装执行脚本;所述安装执行脚本包括至少一帧基于所述安装包在其安装过程中的安装界面图生成的特征图片; 匹配模块,适于由所述安装引擎使用所述至少一帧的特征图片与安装包运行过程中的安装界面图进行匹配; 生成模块,适于在匹配成功时,由所述安装引擎针对匹配的安装界面图处生成对应的安装触发指令,以完成所述应用程序的安装。
【文档编号】G06F9/445GK104503778SQ201410751141
【公开日】2015年4月8日 申请日期:2014年12月9日 优先权日:2014年12月9日
【发明者】葛山 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1