一种插件系统及插件管理方法技术方案

技术编号:9618147 阅读:131 留言:0更新日期:2014-01-30 05:53
本发明专利技术提供一种插件系统及插件管理方法,将与具体应用程序相关的逻辑集中在适配模块,且插件系统的引擎模块独立于应用程序,提供与插件相关的核心功能。当不同的应用程序需要集成本插件系统时,引擎模块的内容不用改写,只用改写适配模块中与具体应用程序相关的逻辑,从而提高了插件系统灵活性,极大的减少了插件系统开发人员的开发和设计难度,减少了开发人员的工作量,并且由于引擎模块不用改动,使得插件系统的更稳定。

Plug-in system and plug-in management method

The present invention provides a system and method for plug-in plug-in management, will be related to the specific application logic in adapter module, engine module and plug-in system independent of applications, and provide the core functions related to the plug-in. When different applications require the integration of the plug-in system, engine module content not only rewrite rewriting, adaptation and specific application of the relevant modules of logic, so as to improve the flexibility of the plug-in system, greatly reducing the development of plug-in system developers and the design difficulty, reduce the workload, and because engine module do not change, making the plug-in system more stable.

【技术实现步骤摘要】
一种插件系统及插件管理方法
本专利技术涉及移动通信
,更为具体地,涉及一种插件系统及插件管理方法。
技术介绍
在移动终端Android应用开发中,都会遇到后期功能拓展增强与应用程序代码变更的现实矛盾,也就是程序的灵活度问题。解决这种矛盾可以借鉴传统软件中扩展程序的方法,也就是插件的实现。一个现成的应用程序需要与插件进行交互,需要在这个应用程序中集成一个插件系统。目前现有的移动终端应用程序插件系统,都是作为应用程序的一部分而开发的,插件系统依赖于这个应用程序而存在。目前的现有的插件系统的架构,应用程序和插件系统依赖性非常严重,并且两者之间也密不可分。插件系统所具备的功能:插件加载、卸载、管理、插件调用、插件接口等功能都依赖于应用程序。无论插件调用应用程序还是应用程序调用插件都必须经过插件系统,应用程序与插件系统的耦合性非常高。因此,现有的插件系统,各部分之间的依赖性过强,一个部分的改变会导致其他很多部分的改变,导致开发和设计工作量大,应用灵活性差,而且经常改动也容易使得插件系统不稳定。
技术实现思路
鉴于上述,本专利技术提出了一种插件系统及插件管理方法,该插件系统及插件管理方法能够提高插件应用灵活性,减少了插件系统开发人员的开发和设计难度,减少了开发人员的工作量,并且由于引擎模块不用改动,使得插件系统的功能更稳定。根据本专利技术的一个方面,提供了一种插件系统,所述插件系统用于移动终端,包括,引擎模块和适配模块,引擎模块,独立于应用程序,用于提供与插件相关的核心功能,在插件加载过程中与适配模块进行交互;适配模块,用于将应用程序的不同功能以接口的方式提供给插件使用,在通过所述接口接收到所述插件调用所述应用程序的应用程序调用消息后,将应用程序调用消息传递给应用程序进行处理,在接收到所述应用程序发送的插件调用消息后,通过所述接口将所述插件调用消息传递给所述插件进行处理。在上述方面的一个或多个示例中,所述引擎模块包括:插件管理模块、插件加载模块、适配对接模块、第一应用程序对接模块、插件通道建立模块;插件管理模块,用于接收到插件配置信息和生成插件镜像的消息后,根据插件配置信息生成插件镜像,接收由适配对接模块传递过来的插件加载请求信息发送给所述插件加载模块,接收所述插件加载模块发送的完成插件加载的信息;插件加载模块,用于收插件管理模块发送的插件加载请求信息,根据所述插件加载请求信息加载插件,且将完成插件加载的信息发送给插件管理模块,其中所述插件加载请求信息是当适配模块收到应用程序发出的插件调用消息后查询该插件没有加载时发送给适配对接模块且由适配对接模块传递给插件管理模块的;适配对接模块,用于传输引擎模块与适配模块之间的交互信息;第一应用程序对接模块,用于传输所述引擎模块与应用程序之间的交互信息;插件通道建立模块,用于建立插件与应用程序间的插件通信通道。在上述方面的一个或多个示例中,所述引擎模块还包括以下的一个或多个模块:插件检测模块,用于检测新插件,获取插件配置信息,向插件管理模块发送插件配置信息和生成插件镜像的消息;插件存储模块,用于存储所述插件管理模块生成的插件镜像。在上述方面的一个或多个示例中,所述引擎模块还包括以下的一个或多个模块,插件合法性判断模块,用于根据所述插件管理模块发送的插件合法性判断信息进行插件合法性判断,且将合法性判断结果发送给插件管理模块;插件权限管理模块,用于根据所述插件管理模块发送的插件权限校验信息进行插件权限校验,校验通过,则生成插件权限列表,且将校验结果发送给插件管理模块。在上述方面的一个或多个示例中,所述适配模块包括:第二应用程序对接模块、引擎模块对接模块、插件对接模块,第二应用程序对接模块,用于在接收所述插件对接模块发送的插件对应用程序进行调用的应用程序调用信息后,将所述应用程序调用信息发送至应用程序,在接收到应用程序对插件进行调用的插件调用消息后,生成当前插件是否已经加载的判断请求,且将判断请求发送给引擎对接模块该插件已经加载,则将插件调用消息发送给插件,如果该插件没有加载则等待插件加载,加载完成后将插件调用消息发送给插件;引擎模块对接模块,用于传输引擎模块与适配模块之间的交互信息,判断当前插件是否已经加载,若没有加载,则向引擎模块的适配对接模块发送插件加载请求;插件对接模块,用于接收第二应用程序对接模块发送过来的插件调用消息,且将所述插件调用消息发给插件,接收插件发送的应用程序调用消息,将所述应用程序调用消息发送给第二应用程序对接模块。在上述方面的一个或多个示例中,所述适配模块还包括SDK模块,SDK模块,设置于插件对接模块与插件之间,用于接收插件对应用程序的应用程序调用消息,将所述应用程序调用消息发送给所述第二应用程序对接模块,接收由所述插件对接模块发送过来的应用程序对插件的插件调用消息,将所述插件调用消息发送给插件进行处理。根据本专利技术的另一方面,提供了一种插件管理方法,该方法包括,在插件系统中设置适配模块和独立于应用程序的引擎模块,当所述适配模块收到应用程序对插件调用的插件调用消息时,将所述插件调用消息传递至所述插件进行处理;当所述适配模块收到插件对应用程序调用的应用程序调用消息时,将所述应用程序调用消息传递至应用程序进行处理。在上述方面的一个或多个示例中,当所述引擎模块检测到新插件时,获取所述插件的配置信息,根据插件配置信息生成插件镜像,存储插件镜像。在上述方面的一个或多个示例中,当适配模块收到应用程序调用插件消息时,判断当前被调用插件是否已经加载;如果当前被调用插件没有加载,适配模块通知引擎模块进行插件加载,引擎模块收到插件加载请求后,解读当前被调用的插件的插件镜像,获得当前被调用插件的插件配置信息,根据插件的配置信息,找到当前被调用的插件,并加载当前被调用的插件。在上述方面的一个或多个示例中,还包括,所述引擎模块对插件进行插件合法性判断,若插件合法,则加载插件。在上述方面的一个或多个示例中,还包括:所述引擎模块对插件进行插件权限校验,若校验通过,则生成插件的权限列表,且将所述插件的权限列表发送给所述插件管理模块。在上述方面的一个或多个示例中,所述当适配模块收到应用程序对插件调用的插件调用消息时,将所述插件调用消息传递至所述插件进行处理包括:适配模块的第二应用程序对接模块接收到所述插件调用消息,将所述插件调用消息发送至适配模块的插件对接模块;所述插件对接模块收到所述插件调用消息,将所述件插件调用消息发送至所述插件进行处理。在上述方面的一个或多个示例中,所述当适配模块收到插件对应用程序调用的应用程序调用消息时,将所述应用程序调用消息传递至应用程序进行处理包括:所述适配模块的插件对接模块接收到插件对应用程序调用的应用程序消息,将所述应用程序调用消息发送至所述适配模块第二应用程序对接模块;所述第二应用程序对接模块接收所述应用程序调用消息,将所述应用程序调用消息发送至应用程序进行处理。为了实现上述以及相关目的,本专利技术提供的插件系统及插件管理方法,将与具体应用程序相关的逻辑集中在适配模块,插件系统的引擎模块独立于应用程序,提供与插件相关的核心功能。当不同的应用程序需要集成本插件系统时,引擎模块的内容不用改写,只用改写适配模块中与具体应用程序相关的逻辑,从而提高了插件系统灵活性本文档来自技高网...
一种插件系统及插件管理方法

【技术保护点】
一种插件系统,所述插件系统用于移动终端,包括:引擎模块和适配模块;引擎模块,独立于应用程序,用于提供与插件相关的核心功能,在插件加载过程中与适配模块进行交互;适配模块,用于将应用程序的不同功能以接口的方式提供给插件使用,在通过所述接口接收到所述插件调用所述应用程序的应用程序调用消息后,将应用程序调用消息传递给应用程序进行处理,在接收到所述应用程序发送的插件调用消息后,通过所述接口将所述插件调用消息传递给所述插件进行处理。

【技术特征摘要】
1.一种插件系统,所述插件系统用于移动终端,包括:引擎模块和适配模块;引擎模块,独立于应用程序,用于提供与插件相关的核心功能,在插件加载过程中与适配模块进行交互;适配模块,用于将应用程序的不同功能以接口的方式提供给插件使用,在通过所述接口接收到所述插件调用所述应用程序的应用程序调用消息后,将应用程序调用消息传递给应用程序进行处理,在接收到所述应用程序发送的插件调用消息后,通过所述接口将所述插件调用消息传递给所述插件进行处理,其中,当适配模块收到应用程序调用插件消息时,判断当前被调用插件是否已经加载;如果当前被调用插件没有加载,适配模块通知引擎模块进行插件加载,引擎模块收到插件加载请求后,解读当前被调用的插件的插件镜像,获得当前被调用插件的插件配置信息,根据插件的配置信息,找到当前被调用的插件,并加载当前被调用的插件。2.如权利要求1所述的插件系统,其中,所述引擎模块包括:插件管理模块、插件加载模块、适配对接模块、第一应用程序对接模块、插件通道建立模块;插件管理模块,用于接收到插件配置信息和生成插件镜像的消息后,根据插件配置信息生成插件镜像,接收由适配对接模块传递过来的插件加载请求信息发送给所述插件加载模块,接收所述插件加载模块发送的完成插件加载的信息;插件加载模块,用于收插件管理模块发送的插件加载请求信息,根据所述插件加载请求信息加载插件,且将完成插件加载的信息发送给插件管理模块,其中所述插件加载请求信息是当适配模块收到应用程序发出的插件调用消息后查询该插件没有加载时发送给适配对接模块且由适配对接模块传递给插件管理模块的;适配对接模块,用于传输引擎模块与适配模块之间的交互信息;第一应用程序对接模块,用于传输所述引擎模块与应用程序之间的交互信息;插件通道建立模块,用于建立插件与应用程序间的插件通信通道。3.如权利要求2所述的插件系统,其中,所述引擎模块还包括以下的一个或多个模块,插件检测模块,用于检测新插件,获取插件配置信息,向插件管理模块发送插件配置信息和生成插件镜像的消息;插件存储模块,用于存储所述插件管理模块生成的插件镜像。4.如权利要求2所述的插件系统,其中,所述引擎模块还包括以下的一个或多个模块,插件合法性判断模块,用于根据所述插件管理模块发送的插件合法性判断信息进行插件合法性判断,且将合法性判断结果发送给插件管理模块;插件权限管理模块,用于根据所述插件管理模块发送的插件权限校验信息进行插件权限校验,校验通过,则生成插件权限列表,且将校验结果发送给插件管理模块。5.如权利要求1所述的插件系统,其中,所述适配模块包括:第二应用程序对接模块、引擎模块对接模块、插件对接模块;第二应用程序对接模块,用于在接收所述插件对接模块发送的插件对应用程序进行调用的应用程序调用信息后,将所述应用程序调用信息发送至应用程序,在接收到应用程序对插件进行调用的插件调用消息后,生成当前插件是否已经加载的判断请求,且将判断请求...

【专利技术属性】
技术研发人员:梁捷朱顺炎凌聪
申请(专利权)人:优视科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1