主程序中启动插件的方法及装置的制造方法

文档序号:8412369阅读:333来源:国知局
主程序中启动插件的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机处理技术领域,特别是一种主程序中启动插件的方法及装置。
【背景技术】
[0002] 在软件开发中,为了方便对软件进行功能扩展,可以采用插件方式进行开发,将软 件所要实现的一个一个功能封装在插件中,最后将各个插件集成在软件主程序包中一同发 布。
[0003] 为了保证插件与主程序间的正常交互,需要插件与主程序适配,相关技术中,通过 在主程序代码中写死主程序版本与插件版本之间的--对应关系来实现。例如,主程序从 版本1升级到版本2,此时插件也从版本1升级到版本2,相关技术中会在主程序代码中写 入主程序版本2与插件版本2的一一对应关系来保证两者间的正常交互。而虽然插件版本 1能够适配主程序版本2,但是由于这种写死的一一对应关系,在主程序调用时会误认为插 件版本1是失效的插件而不被调用,若当前主程序包中还未存在插件版本2的相关数据,那 么还需要对其进行下载,会降低处理效率,导致资源的浪费。

【发明内容】

[0004] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的主程序中启动插件的方法及装置。
[0005] 依据本发明的一个方面,提供了一种主程序中启动插件的方法,包括:当接收到插 件的启动指令时,获取待启动插件的当前插件标识;在对应的插件均与所述主程序适配的 多条插件标识中,查找与所述当前插件标识匹配的插件标识,得到查找结果;根据所述查找 结果启动对应的插件。
[0006] 可选地,根据所述查找结果启动对应的插件,包括:若所述查找结果为查找到与所 述当前插件标识匹配的插件标识,则启动所述待启动插件;若所述查找结果为未查找到与 所述当前插件标识匹配的插件标识,则从所述多条插件标识中选取一条插件标识,进而根 据所述选取的一条插件标识下载相应的插件,并在下载完成后进行启动。
[0007] 可选地,从所述多条插件标识中选取一条插件标识,包括:在预先建立的插件标识 与插件版本的对应关系中,查找所述多条插件标识各自对应的插件版本;根据所述插件版 本,从所述多条插件标识中选取一条插件标识。
[0008] 可选地,若所述多条插件标识中存在多种插件类型,且每种插件类型对应一条或 多条插件标识;根据所述插件版本,从所述多条插件标识中选取一条插件标识,包括:获取 所述待启动插件的类型名称;从所述多条插件标识中筛选出所述待启动插件的类型名称对 应的至少一条插件标识;根据所述插件版本,从所述至少一条插件标识中选取一条插件标 识。
[0009] 可选地,根据所述插件版本,从所述多条插件标识中选取一条插件标识,包括:从 所述多条插件标识中,选取最新插件版本对应的插件标识。
[0010] 可选地,根据所述选取的一条插件标识下载相应的插件,包括:根据所述选取的一 条插件标识,生成URL (Uniform Resource Locator,统一资源定位符);根据所述URL下载 相应的插件。
[0011] 可选地,所述在下载完成后,进行启动之前,还包括:对下载的插件进行校验,若校 验通过,则启动所述下载的插件;以及若校验未通过,则输出校验失败的信息。
[0012] 可选地,所述对下载的插件进行校验,包括:获取所述下载的插件的目标插件标 识;在所述多条插件标识中,查找与所述目标插件标识匹配的插件标识;若查找到,则确定 校验通过;若未查找到,则确定校验未通过。
[0013] 可选地,所述插件标识包括下列至少之一:
[0014] 插件的 MD5 (Message Digest Algorithm5,信息摘要算法 5)值;
[0015] 插件的 SHAl (Secure Hash Algorithml,安全哈希算法 1)值。
[0016] 可选地,所述方法还包括:捕获后台插件升级事件,获取进行升级的插件的插件标 识;根据所述升级的插件的插件标识,更新所述多条插件标识。
[0017] 可选地,所述在下载完成后,进行启动之前,还包括:遍历所有启动的进程,判断是 否存在启动的进程属于所述当前插件标识的插件;若存在,则杀死所述当前插件标识的插 件的启动进程,并启动新的进程以运行所述下载的插件。
[0018] 依据本发明的另一个方面,还提供了一种主程序中启动插件的装置,包括:
[0019] 获取模块,适于当接收到插件的启动指令时,获取待启动插件的当前插件标识;
[0020] 查找模块,适于在其对应的插件均与所述主程序适配的多条插件标识中,查找与 所述当前插件标识匹配的插件标识,得到查找结果;
[0021] 启动模块,适于根据所述查找结果启动对应的插件。
[0022] 可选地,所述启动模块还适于:若所述查找结果为查找到与所述当前插件标识匹 配的插件标识,则启动所述待启动插件;若所述查找结果为未查找到与所述当前插件标识 匹配的插件标识,则从所述多条插件标识中选取一条插件标识,进而根据所述选取的一条 插件标识下载相应的插件,并在下载完成后进行启动。
[0023] 可选地,所述启动模块还适于:在预先建立的插件标识与插件版本的对应关系中, 查找所述多条插件标识各自对应的插件版本;根据所述插件版本,从所述多条插件标识中 选取一条插件标识。
[0024] 可选地,所述启动模块还适于:若所述多条插件标识中存在多种插件类型,且每种 插件类型对应一条或多条插件标识;获取所述待启动插件的类型名称;从所述多条插件标 识中筛选出所述待启动插件的类型名称对应的至少一条插件标识;根据所述插件版本,从 所述至少一条插件标识中选取一条插件标识。
[0025] 可选地,所述启动模块还适于:从所述多条插件标识中,选取最新插件版本对应的 插件标识。
[0026] 可选地,所述启动模块还适于:根据所述选取的一条插件标识,生成URL ;根据所 述URL下载相应的插件。
[0027] 可选地,所述装置还包括:
[0028] 校验模块,适于所述在下载完成后,进行启动之前,对下载的插件进行校验,若校 验通过,则启动所述下载的插件;以及若校验未通过,则输出校验失败的信息。
[0029] 可选地,所述校验模块还适于:获取所述下载的插件的目标插件标识;在所述多 条插件标识中,查找与所述目标插件标识匹配的插件标识;若查找到,则确定校验通过;若 未查找到,则确定校验未通过。
[0030] 可选地,所述插件标识包括下列至少之一:
[0031] 插件的MD5值;
[0032] 插件的SHAl值。
[0033] 可选地,所述装置还包括:
[0034] 更新模块,适于捕获后台插件升级事件,获取进行升级的插件的插件标识;根据所 述升级的插件的插件标识,更新所述多条插件标识。
[0035] 可选地,所述在下载完成后,进行启动之前,所述启动模块还适于:遍历所有启动 的进程,判断是否存在启动的进程属于所述当前插件标识的插件;若存在,则杀死所述当前 插件标识的插件的启动进程,并启动新的进程以运行所述下载的插件。
[0036] 依据本发明的又一个方面,还提供了一种终端,包括:
[0037] 存储器;
[0038] 一个或多个处理器;
[0039] 其中,所述一个或多个处理器被配置为执行如下方法:
[0040] 当接收到插件的启动指令时,获取待启动插件的当前插件标识;
[0041] 在对应的插件均与所述主程序适配的多条插件标识中,查找与所述当前插件标识 匹配的插件标识,得到查找结果;
[0042] 根据所述查找结果启动对应的插件。
[0043] 本发明实施例中,存在多条插件标识,其对应的插件(插件的类型可以是一种或 多种)均与主程序适配。当接收到插件的启动指令,并获取到待启动插件的当前插件标识 时,可以在多条插件标识中查找与当前插件标识匹配的插件标识,相比于现有技术中只能 够使用固定的插件标识,本发明实施例提供的技术方案可以提高插件标识的匹配率。进一 步地,由于查找到与当前插件标识匹配的插件标识,便可以直接启动待启动插件,查找不到 与当前插件标识匹配的插件标识,进一步需要下载与主程序适配的插件,因而,本发明在插 件标识匹配率较高的情况下可以减少下载的次数,提高处理效率。并且,本发明提供的多条 插件标识中可以包含一些老版本插件的插件标识,这样对于待启动插件是老版本插件时, 本发明依然能够查找匹配成功,从而解决了现有技术中在主程序调用时会误认为老版本插 件是失效的插件而不被调用,导致资源浪费等问题,实现兼容老版本,提高处理效率的目 的。
[0044] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的【具体实施方式】。
[0045] 根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明 了本发明的上述以及其他目的、优点和特征。
【附图说明】
[0046] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0047] 图1示出了根据本发明一个实施例的主程序中启动插件的方法的流程图;
[0048] 图2示出了根据本发明另一个实施例的主程序中启动插件的方法的流程图;
[0049] 图3示出了根据本发明一个实施例的后台插件升级的方法的流程图;
[0050] 图4示出了根据本发明一个实施例的主程序中启动插件的装置的结构示意图;以 及
[
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1