CN109684115A - 一种应用于插件间的通信方法及相关设备 - Google Patents
一种应用于插件间的通信方法及相关设备 Download PDFInfo
- Publication number
- CN109684115A CN109684115A CN201910016052.0A CN201910016052A CN109684115A CN 109684115 A CN109684115 A CN 109684115A CN 201910016052 A CN201910016052 A CN 201910016052A CN 109684115 A CN109684115 A CN 109684115A
- Authority
- CN
- China
- Prior art keywords
- plug
- unit
- solicited message
- management platform
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 56
- 238000004891 communication Methods 0.000 title claims abstract description 55
- 238000004590 computer program Methods 0.000 claims abstract description 3
- 238000000034 method Methods 0.000 claims description 192
- 230000008569 process Effects 0.000 claims description 80
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims 1
- 238000005457 optimization Methods 0.000 abstract description 7
- 238000009434 installation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 239000011230 binding agent Substances 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000011900 installation process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种插件间的通信方法,包括:插件管理平台接收第一插件发送的请求信息,所述请求信息包括第二插件的插件名;判断所述插件管理平台中是否存在所述第二插件;若是,则根据所述请求信息运行所述第二插件。本申请实施例还公开了一种插件间的通信装置、一种插件间的通信系统、一种计算机可读存储介质以及一种计算机程序产品。其中,插件管理平台接收第一插件发送的请求信息,即第一插件请求调度运行第二插件,此时,该平台判断是否存在第二插件;若是,则根据该请求信息运行所述第二插件,从而实现对插件之间通信的优化。
Description
技术领域
本申请涉及通信领域,尤其涉及一种应用于插件间的通信方法及相关设 备。
背景技术
随着移动网络的发展,终端设备(如手机、平板电脑等)得到了广泛的 应用。此时,终端不仅能承担输入输出的工作,同时也能进行一定的运算和 处理,实现部分系统功能。终端设备中实现某种实际应用或解决某类问题依 赖于应用程序。
在现有技术中,应用软件提供使插件能够应用的各项服务,其中包括提 供加载方式,使插件可以加载到应用程序和网络传输协议中,从而和插件进 行数据交换。一个应用程序作为插件运行的容器,来加载和运行各应用插件。 所有的插件都运行在一个进程空间内,插件之间的通信都是进程范围内进行。 由于每个插件应用都是独立的组件,组件间的通信方案都是通过预先发布, 等待后面使用者订阅。Android系统对单个进程的应用程序,所允许的资源额 度都是有限制的,有时会考虑把插件化应用运行在新的进程里。这样,各个 插件之间通信就由原先的进程内变成了现在的进程间。
然而现有的常用的通信方式均是通过本地反射和接口的方式,在进程间 是无法起作用的。而按照Android默认的进程通信方式Binder,即插件A需 要调用插件B的方法,则绑定B的服务。那么随着插件的增多,这种绑定会 变得非常之多,严重影响了程序的性能。
发明内容
本申请实施例提供了一种应用于插件间的通信方法及相关设备,用于用 于实现对插件之间通信的优化。
本申请实施例第一方面提供了一种插件间的通信方法,应用于插件管理 平台,所述方法包括:
接收第一插件发送的请求信息,所述请求信息包括第二插件的插件名;
判断所述插件管理平台中是否存在所述第二插件;
若是,则根据所述请求信息运行所述第二插件。
可选地,所述根据所述请求信息运行所述第二插件包括:
若所述第一插件和所述第二插件运行于第一进程中,则在所述第一进程 中运行所述第二插件。
可选地,所述根据所述请求信息运行所述第二插件包括:
若所述第一插件运行于第一进程且所述第二插件运行于第二进程中,则 建立所述第一进程和所述第二进程的绑定连接;
通过所述绑定连接在所述第二进程中运行所述第二插件。
可选地,所述请求信息包括第二插件的目标方法名;
所述根据所述请求信息运行所述第二插件包括:
运行所述第二插件,以使得所述第二插件执行所述目标方法名对应的方 法。
可选地,在所述接收第一插件发送的请求信息之前,所述方法还包括:
获取插件的安装信息,所述安装信息包括所述插件的插件名和所述插件 的方法名,所述插件包括第一插件;
根据所述安装信息安装所述插件。
可选地,在所述根据所述安装信息安装所述插件之后,所述方法还包括:
根据所述安装信息建立方法路由表,所述方法路由表用于指示所述插件 的插件名与所述插件的方法名存在关联关系;
所述判断所述插件管理平台中是否存在所述第二插件包括:
判断所述方法路由表中是否包括所述第二插件的插件名;
若是,则确定所述插件管理平台中存在所述第二插件;
若否,则确定所述插件管理平台中不存在所述第二插件。
可选地,在根据所述安装信息建立方法路由表之后,所述方法还包括:
获取插件更新消息,所述插件更新消息用于指示增加插件和/或删除插件;
根据所述插件更新消息更新所述方法路由表。
本申请实施例第二方面提供了一种插件间的通信装置,所述装置包括存 储器和处理器,所述存储器上存储有可在所述处理器上运行的插件间的通信 程序,所述插件间的通信程序被所述处理器执行时实现如第一方面方法实施 例中任一项所述的方法。
本申请实施例第三方面提供了一种插件间的通信系统,所述系统包括:
接收单元,用于接收第一插件发送的请求信息,所述请求信息包括第二 插件的插件名;
判断单元,用于判断所述插件管理平台中是否存在所述第二插件;
运行单元,用于当所述判断单元确定所述插件管理平台中存在所述第二 插件时,根据所述请求信息运行所述第二插件。
可选地,所述运行单元具体用于:
若所述第一插件和所述第二插件运行于第一进程中,则在所述第一进程 中运行所述第二插件。
可选地,所述运行单元具体用于:
若所述第一插件运行于第一进程且所述第二插件运行于第二进程中,则 建立所述第一进程和所述第二进程的绑定连接;
通过所述绑定连接在所述第二进程中运行所述第二插件。
可选地,所述请求信息包括第二插件的目标方法名;
所述运行单元具体用于:
运行所述第二插件,以使得所述第二插件执行所述目标方法名对应的方 法。
可选地,所述系统还包括:
第一获取单元,用于获取插件的安装信息,所述安装信息包括所述插件 的插件名和所述插件的方法名,所述插件包括第一插件;
安装单元,用于根据所述安装信息安装所述插件。
可选地,所述系统还包括:
建立单元根据所述安装信息建立方法路由表,所述方法路由表用于指示 所述插件的插件名与所述插件的方法名存在关联关系;
所述判断单元具体用于:
判断所述方法路由表中是否包括所述第二插件的插件名;
若是,则确定所述插件管理平台中存在所述第二插件;
若否,则确定所述插件管理平台中不存在所述第二插件。
可选地,所述系统还包括:
第二获取单元,用于获取插件更新消息,所述插件更新消息用于指示增 加插件和/或删除插件;
更新单元,用于根据所述插件更新消息更新所述方法路由表。
本申请实施例第四方面提供了一种计算机可读存储介质,所述计算机可 读存储介质上存储有插件间的通信程序,所述插件间的通信程序可被一个或 者多个处理器执行,以实现如第一方面方法实施例中任一项所述的插件间的 通信方法。
本申请实施例第五方面提供了一种计算机程序产品,包括计算机指令, 当其在计算机上运行时,使得计算机可以执行上述第一方面方法实施例中任 一项所述的数据处理方法。
从以上技术方案可以看出,本申请实施例具有以下优点:插件管理平台 接收第一插件发送的请求信息,所述请求信息包括第二插件的插件名;判断 所述插件管理平台中是否存在所述第二插件;若是,则根据所述请求信息运 行所述第二插件。其中,插件管理平台接收第一插件发送的请求信息,即第 一插件请求调度运行第二插件,此时,该平台判断是否存在第二插件;若是, 则根据该请求信息运行所述第二插件,从而实现对插件之间通信的优化。
附图说明
图1为本申请实施例中一种插件间的通信方法实施例的一个示意图;
图2为图1对应实施例中步骤103的细化流程的一个示意图;
图3为图1对应实施例中步骤103的细化流程的另一个示意图;
图4为图1对应实施例中步骤103的细化流程的另一个示意图;
图5为本申请实施例中一种插件间的通信方法实施例的另一个示意图;
图6为本申请实施例中一种插件间的通信系统实施例的一个示意图;
图7为本申请实施例中一种插件间的通信装置实施例的一个示意图;
图8为本申请实施例中一种插件间的通信方法具体实现的一个示意图。
具体实施方式
本申请实施例提供了一种应用于插件间的通信方法及相关设备,用于实 现对插件之间通信的优化。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实 施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、 “第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序 或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描 述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术 语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含, 例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过 程、方法、产品或设备固有的其它步骤或单元。
在现有技术中,应用软件提供使插件能够应用的各项服务,其中包括提 供加载方式,使插件可以加载到应用程序和网络传输协议中,从而和插件进 行数据交换。一个应用程序作为插件运行的容器,来加载和运行各应用插件。 所有的插件都运行在一个进程空间内,插件之间的通信都是进程范围内进行。 由于每个插件应用都是独立的组件,组件间的通信方案都是通过预先发布, 等待后面使用者订阅。Android系统对单个进程的应用程序,所允许的资源额 度都是有限制的,有时会考虑把插件化应用运行在新的进程里。这样,各个 插件之间通信就由原先的进程内变成了现在的进程间。然而现有的常用的通 信方式均是通过本地反射和接口的方式,在进程间是无法起作用的。而按照 Android默认的进程通信方式Binder,即插件A需要调用插件B的方法,则 绑定B的服务。那么随着插件的增多,这种绑定会变得非常之多,严重影响 了程序的性能。为此,本申请实施例提供了一种应用于插件间的通信方法及 相关设备,用于解决上述问题。
本申请实施例中,基于现有技术中的终端应用程序的实现过程,在终端 中将部分应用软件进行插件化处理,或者直接在终端中安装插件的形式得到 并运行插件,后续可通过插件的运行来实现该部分应用软件在终端中所实现 的功能与对应的操作。
在此基础上,本实施例及后续实施例中,为了实现各个插件之间的通信, 例如插件之间的调用,可通过终端中的一个功能模块来实现插件的管理,即 使用插件管理平台这一功能模块来统一实现。其中,插件管理平台负责管理 各插件的生命周期,如启动、停止、安装、卸载等,监测它们的运行状态, 对异常停止的业务程序进行监护重启或者停止运行等,并且可以维护各应用 的版本信息和运行状态。
区别于现有技术中的插件间通信的繁琐流程,本申请实施例中具体可以 通过插件管理平台来实现插件之间的通信过程,如图8所示,插件管理平台 中集中管理所有插件,包括插件A、插件B...插件E、插件1、插件2...插件5, 即插件管理平台中维护着各插件的信息,例如插件基础名称信息、插件实现 的方法信息等。插件管理平台在物理硬件实施过程中,作为一个优选方案, 还可以维护一个插件箱,用于存储路由信息,从而插件管理平台可以根据插 件的请求信息正确路由至目的插件,实现各插件在进程内和进程间的通信过程,下面将通过具体实施例对插件管理平台在终端中的具体实现过程进行描 述。
为了便于理解,下面对本申请实施例中的具体流程进行描述,请参阅图1, 本申请实施例中一种插件间的通信方法的一个实施例包括:
101、接收第一插件发送的请求信息;
本实施例中,插件管理平台接收第一插件发送的请求信息,所述请求信 息包括第二插件的插件名。
具体地,该插件管理平台为终端设备中的一个应用程序,负责管理各插 件的生命周期,如启动、停止、安装、卸载等,监测各插件的运行状态。其 中,第一插件为插件管理平台中预安装的或者是其他第三方安装的插件,此 处不做限定。本步骤中,插件管理平台接收到第一插件发送的请求信息,该 请求信息包括第二插件的插件名,即第一插件需要调度使用第二插件对应的 功能实现。
102、判断所述插件管理平台中是否存在所述第二插件;
本实施例中,插件管理平台判断在其中是否存在第二插件,若是,则执 行步骤103,若否,则执行步骤104。
具体的,插件管理平台查询在其中是否已经安装有第二插件,该第二插 件可以是预安装与该插件管理平台中的插件,也可以是后续第三方补充安装 进入该插件管理平台中的插件,具体此处不做限定。
103、若是,则根据所述请求信息运行所述第二插件。
本实施例中,当插件管理平台在步骤102中确定在其中存在第二插件时, 则根据该请求信息运行第二插件。
具体来说,插件管理平台根据该请求信息调度运行第二插件,即响应该 请求消息运行第二插件,作为一个优选方案,在运行第二插件之后,插件管 理平台还可以放回执行结果给第一插件,以使得第一插件获知第二插件的运 行状态。
104、若否,则执行其他操作。
本实施例中,当插件管理平台在步骤102中确定在其中不存在第二插件 时,则可以向第一插件返回不存在的标识码,或者是不执行操作,还可以是 其他的操作,具体此处不做限定。
本实施例中,插件管理平台接收第一插件发送的请求信息,所述请求信 息包括第二插件的插件名;判断所述插件管理平台中是否存在所述第二插件; 若是,则根据所述请求信息运行所述第二插件。其中,插件管理平台接收第 一插件发送的请求信息,即第一插件请求调度运行第二插件,此时,该平台 判断是否存在第二插件;若是,则根据该请求信息运行所述第二插件,从而 实现对插件之间通信的优化。
本申请实施例中,基于图1所述实施例,在步骤103根据所述请求信息 运行所述第二插件的实施过程中,插件管理平台还可以根据第一插件与第二 插件的运行条件来确定运行第二插件的方式,基于图1所述实施例,下面将 通过图2和图3对应的实施例进行说明。
一、在同一进程内运行第二插件
201、若所述第一插件和所述第二插件运行于第一进程中,则在所述第一 进程中运行所述第二插件。
本实施例中,当第一插件和第二插件都是运行于第一进程中时,由于第 一插件和第二插件分别与插件管理平台的数据接口均在同一个地址空间,因 此直接在第一进程中运行该第二插件,实现第一插件对第二插件的访问即可。
二、在进程间运行第二插件
301、若所述第一插件运行于第一进程且所述第二插件运行于第二进程 中,则建立所述第一进程和所述第二进程的绑定连接;
302、通过所述绑定连接在所述第二进程中运行所述第二插件。
本实施例中,当第一插件运行于第一进程且第二插件运行于第二进程中 时,即第一插件与第二插件分别运行于不同的进程中,此时,第一插件与第 二插件的通信方式为进程间通信,需要通过Binder机制对第一进程和第二进 程进行绑定连接,在绑定之后,通过该绑定连接向第二插件所在的第二进程 中发送运行指令,以使得第二插件在第二进程中运行,从而实现插件间的跨 进程通信。
本申请实施例中,基于图1所述实施例,插件在实际应用中,可以存在 多种对应的方法,例如相机插件可以执行拍摄方法、也可以执行录像方法等, 因此具体在步骤101接收到第一插件的请求信息中,还可以包括第二插件的 方法名。下面将通过图4对应实施例对这一情况进行描述。
请参阅图4,基于图1所述实施例,具体在步骤103可以包括:
401、运行所述第二插件,以使得所述第二插件执行所述目标方法名对应 的方法。
本实施例中,在步骤101获取得到的请求信息中除了包括第二插件的插 件名,还包括第二插件的目标方法名。此处该目标方法名指示执行第二插件 可执行的方法中对应的目标方法,示例性地,以第二插件为相机插件为例, 第二插件可执行的方法有拍摄方法、录像方法等,若该目标方法指示录像方 法,则本步骤中控制第二插件运行录像方法,执行录像功能。
本申请实施例中,基于图4所述实施例,具体在步骤101之前,还存在 有对第一插件的安装过程,下面将通过图5所对应实施例进行说明。
本申请实施例中,具体在步骤101接收第一插件发送的请求信息之前, 插件管理平台中的插件可以是预安装的即在插件管理平台自带的插件,也可 以是插件管理平台接收第三方插件的安装信息进行安装得到,下面对后者进 行说明。请参阅图5,基于图4所述实施例,本申请实施例中的一种插件间的 通信方法的另一个实施例包括:
501、获取插件的安装信息;
本实施例中,插件管理平台获取插件的安装信息,所述安装信息包括所 述插件的插件名和所述插件的方法名,所述插件包括第一插件。
具体的,插件管理平台可以通过接收其他第三方程序的指令获取到插件 的安装信息,其中,该安装信息包括插件的插件名和插件对应的方法名,该 插件中包含有第一插件。
502、根据所述安装信息安装所述插件。
本实施例中,插件管理平台根据步骤501获取得到的安装信息安装插件, 包括第一插件的安装过程。
本实施例中,具体在插件安装之后,为了后续的查询以及对应实施的方 便,可以通过建立方法路由表的形式对插件的插件名和方法名进行记录,建 立索引信息。此时,在步骤502根据所述安装信息安装所述插件之后,该方 法还可以包括:
503、根据所述安装信息建立方法路由表;
本实施例中,插件管理平台可以根据步骤501中的安装信息建立方法路 由表,其中,该方法路由表用于指示所述插件的插件名与所述插件的方法名 存在关联关系,即在该方法路由表中,记录着插件各方法信息,插件名和方 法一一对应。在后续的插件方法请求过程(例如第一插件的请求信息),会 根据该请求信息中携带的目的插件和方法名,在方法路由表中进行查询,为 方法路由提供正确的路由信息。在这里,方法路由表是作为软件方法实施例 的一个软件载体,在实际应用中还可以将该方法路由表存储于物理硬件层面 中的插件箱,插件箱作为插件管理平台的一个功能实现模块,用于集中管理 所有插件的方法,维护着各插件的方法信息,实现各插件在进程内和进程间 的方法访问。
此时,在图1实施例中,步骤102中所述判断所述插件管理平台中是否 存在所述第二插件具体可以包括:
判断在步骤503中建立的方法路由表中是否包括所述第二插件的插件名; 若是,则确定所述插件管理平台中存在所述第二插件;若否,则确定所述插 件管理平台中不存在所述第二插件。
本实施例中,在步骤503建立根据所述安装信息建立方法路由表之后, 还可以进一步地对该方法路由表进行更新,该方法还可以包括:
504、获取插件更新消息;
本实施例中,插件管理平台获取插件更新消息,所述插件更新消息用于 指示增加插件和/或删除插件。
505、根据所述插件更新消息更新所述方法路由表。
本实施例中,在步骤503建立根据所述安装信息建立方法路由表之后, 若获取到插件的更新消息,其中,插件更新消息用于指示增加插件和/或删除 插件,即需要对插件管理平台中的插件进行增加或者删除的操作,此时,插 件管理平台根据该更新消息更新方法路由表,即在方法路由表中增加或者删 除对应的插件信息。作为一个优选实施例,若该更新消息指示删除插件,则 在插件管理平台中执行删除的动作,若该更新消息指示增加插件,则在插件 管理平台中执行增加的动作,以使得更新后的方法路由表与插件管理平台中可运行的插件保持实时的对应,实现对插件之间通信进一步的优化。
上面从方法的角度对本申请实施例进行了说明,下面从系统虚拟模块的 角度对本申请实施例进行介绍。
请参阅图6,本申请实施例中一种插件间的通信系统的一个实施例包括:
接收单元601,用于接收第一插件发送的请求信息,所述请求信息包括第 二插件的插件名;
判断单元602,用于判断所述插件管理平台中是否存在所述第二插件;
运行单元603,用于当所述判断单元确定所述插件管理平台中存在所述第 二插件时,根据所述请求信息运行所述第二插件。
本实施例中,接收单元601用于接收第一插件发送的请求信息,所述请 求信息包括第二插件的插件名;判断单元602用于判断所述插件管理平台中 是否存在所述第二插件;运行单元603用于当所述判断单元确定所述插件管 理平台中存在所述第二插件时,根据所述请求信息运行所述第二插件。其中, 插件管理平台接收第一插件发送的请求信息,即第一插件请求调度运行第二 插件,此时,该平台判断是否存在第二插件;若是,则根据该请求信息运行 所述第二插件,从而实现对插件之间通信的优化。
可选地,所述运行单元603具体用于:
若所述第一插件和所述第二插件运行于第一进程中,则在所述第一进程 中运行所述第二插件。
可选地,所述运行单元603具体用于:
若所述第一插件运行于第一进程且所述第二插件运行于第二进程中,则 建立所述第一进程和所述第二进程的绑定连接;
通过所述绑定连接在所述第二进程中运行所述第二插件。
可选地,所述请求信息包括第二插件的目标方法名;
所述运行单元603具体用于:
运行所述第二插件,以使得所述第二插件执行所述目标方法名对应的方 法。
可选地,所述系统还包括:
第一获取单元604,用于获取插件的安装信息,所述安装信息包括所述插 件的插件名和所述插件的方法名,所述插件包括第一插件;
安装单元605,用于根据所述安装信息安装所述插件。
可选地,所述系统还包括:
建立单元606,用于根据所述安装信息建立方法路由表,所述方法路由表 用于指示所述插件的插件名与所述插件的方法名存在关联关系;
所述判断单元602具体用于:
判断所述方法路由表中是否包括所述第二插件的插件名;
若是,则确定所述插件管理平台中存在所述第二插件;
若否,则确定所述插件管理平台中不存在所述第二插件。
可选地,所述系统还包括:
第二获取单元607,用于获取插件更新消息,所述插件更新消息用于指示 增加插件和/或删除插件;
更新单元608,用于根据所述插件更新消息更新所述方法路由表。
下面请参阅图7,本申请实施例中一种插件间的通信装置的一个实施例包 括:
在本实施例中,一种插件间的通信装置1可以是PC(Personal Computer, 个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能 路由器、矿机、网络存储设备终端设备。
该装置1可以是组成CDN网络或者区块链网络的节点。该插件间的通信 装置1可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质 包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁 性存储器、磁盘、光盘等。存储器11在一些实施例中可以是插件间的通信装 置1的内部存储单元,例如该插件间的通信装置1的硬盘。存储器11在另一 些实施例中也可以是插件间的通信装置1的外部存储设备,例如插件间的通 信装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安 全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器 11还可以既包括插件间的通信装置1的内部存储单元也包括外部存储设备。 存储器11不仅可以用于存储安装于插件间的通信装置1的应用软件及各类数 据,例如插件间的通信程序01的代码等,还可以用于暂时地存储已经输出或 者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储 器11中存储的程序代码或处理数据,例如执行插件间的通信程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表 示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,插件间的通信装置还可以包括网络接口14,网络接口14可选 的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用 于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器 (Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括 标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED 显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏 或显示单元,用于显示在插件间的通信装置1中处理的信息以及用于显示可 视化的用户界面。
图7仅示出了具有组件11-14以及插件间的通信程序01的插件间的通信 装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对插件间的 通信装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部 件,或者不同的部件布置。
可以理解的是,在本申请的各种实施例中,上述各步骤的序号的大小并 不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定, 而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个 系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合 或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本 申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光 盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制; 尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应 当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案 的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种插件间的通信方法,其特征在于,应用于插件管理平台,所述方法包括:
接收第一插件发送的请求信息,所述请求信息包括第二插件的插件名;
判断所述插件管理平台中是否存在所述第二插件;
若是,则根据所述请求信息运行所述第二插件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述请求信息运行所述第二插件包括:
若所述第一插件和所述第二插件运行于第一进程中,则在所述第一进程中运行所述第二插件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述请求信息运行所述第二插件包括:
若所述第一插件运行于第一进程且所述第二插件运行于第二进程中,则建立所述第一进程和所述第二进程的绑定连接;
通过所述绑定连接在所述第二进程中运行所述第二插件。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述请求信息包括第二插件的目标方法名;
所述根据所述请求信息运行所述第二插件包括:
运行所述第二插件,以使得所述第二插件执行所述目标方法名对应的方法。
5.根据权利要求4所述的方法,其特征在于,在所述接收第一插件发送的请求信息之前,所述方法还包括:
获取插件的安装信息,所述安装信息包括所述插件的插件名和所述插件的方法名,所述插件包括第一插件;
根据所述安装信息安装所述插件。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述安装信息安装所述插件之后,所述方法还包括:
根据所述安装信息建立方法路由表,所述方法路由表用于指示所述插件的插件名与所述插件的方法名存在关联关系;
所述判断所述插件管理平台中是否存在所述第二插件包括:
判断所述方法路由表中是否包括所述第二插件的插件名;
若是,则确定所述插件管理平台中存在所述第二插件;
若否,则确定所述插件管理平台中不存在所述第二插件。
7.根据权利要求6所述的方法,其特征在于,在根据所述安装信息建立方法路由表之后,所述方法还包括:
获取插件更新消息,所述插件更新消息用于指示增加插件和/或删除插件;
根据所述插件更新消息更新所述方法路由表。
8.一种插件间的通信装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的插件间的通信程序,所述插件间的通信程序被所述处理器执行时实现如权利要求1-7任一项所述的方法。
9.一种插件间的通信系统,其特征在于,所述系统包括:
接收单元,用于接收第一插件发送的请求信息,所述请求信息包括第二插件的插件名;
判断单元,用于判断所述插件管理平台中是否存在所述第二插件;
运行单元,用于当所述判断单元确定所述插件管理平台中存在所述第二插件时,根据所述请求信息运行所述第二插件。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有插件间的通信程序,所述插件间的通信程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的插件间的通信方法。
11.一种计算机程序产品,其特征在于,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910016052.0A CN109684115A (zh) | 2019-01-08 | 2019-01-08 | 一种应用于插件间的通信方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910016052.0A CN109684115A (zh) | 2019-01-08 | 2019-01-08 | 一种应用于插件间的通信方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684115A true CN109684115A (zh) | 2019-04-26 |
Family
ID=66192097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910016052.0A Pending CN109684115A (zh) | 2019-01-08 | 2019-01-08 | 一种应用于插件间的通信方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684115A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822115A (zh) * | 2020-12-31 | 2021-05-18 | 罗普特科技集团股份有限公司 | 一种基于插件式引擎的服务框架构建方法和系统 |
CN113656106A (zh) * | 2021-08-20 | 2021-11-16 | 厦门雅基软件有限公司 | 插件加载方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571811A (zh) * | 2009-05-22 | 2009-11-04 | 中兴通讯股份有限公司 | 一种信息传输方法及装置 |
CN101699405A (zh) * | 2009-10-26 | 2010-04-28 | 中兴通讯股份有限公司 | 一种宿主程序和插件及插件间进行交互的方法及装置 |
US20170272547A1 (en) * | 2016-03-18 | 2017-09-21 | Interactive Intelligence Group, Inc. | System and method for configuration and interchanging of business functionality implementations |
CN108984224A (zh) * | 2018-06-13 | 2018-12-11 | 中国平安人寿保险股份有限公司 | 一种插件管理方法、计算机可读存储介质及终端设备 |
-
2019
- 2019-01-08 CN CN201910016052.0A patent/CN109684115A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571811A (zh) * | 2009-05-22 | 2009-11-04 | 中兴通讯股份有限公司 | 一种信息传输方法及装置 |
CN101699405A (zh) * | 2009-10-26 | 2010-04-28 | 中兴通讯股份有限公司 | 一种宿主程序和插件及插件间进行交互的方法及装置 |
US20170272547A1 (en) * | 2016-03-18 | 2017-09-21 | Interactive Intelligence Group, Inc. | System and method for configuration and interchanging of business functionality implementations |
CN108984224A (zh) * | 2018-06-13 | 2018-12-11 | 中国平安人寿保险股份有限公司 | 一种插件管理方法、计算机可读存储介质及终端设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822115A (zh) * | 2020-12-31 | 2021-05-18 | 罗普特科技集团股份有限公司 | 一种基于插件式引擎的服务框架构建方法和系统 |
CN112822115B (zh) * | 2020-12-31 | 2022-09-16 | 罗普特科技集团股份有限公司 | 一种基于插件式引擎的服务框架构建方法和系统 |
CN113656106A (zh) * | 2021-08-20 | 2021-11-16 | 厦门雅基软件有限公司 | 插件加载方法、装置、电子设备及计算机可读存储介质 |
CN113656106B (zh) * | 2021-08-20 | 2023-11-10 | 厦门雅基软件有限公司 | 插件加载方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733005B (zh) | 一种控制智能设备联动的方法及装置 | |
CN109656608A (zh) | 一种mcu固件升级方法及其相关设备 | |
CN110278278A (zh) | 一种数据传输方法、系统、装置及计算机介质 | |
CN105068865A (zh) | 任务调度方法和装置 | |
CN109918203A (zh) | 接入服务器内存管理优化方法、接入服务器及通信系统 | |
CN103207965A (zh) | 一种虚拟环境下License认证的方法及装置 | |
CN109413207A (zh) | 一种文件上传方法、系统、装置及计算机可读存储介质 | |
CN104067258A (zh) | 平台运行时间抽象 | |
CN110457925A (zh) | 内外部存储中应用数据隔离方法、装置、终端及存储介质 | |
CN109684115A (zh) | 一种应用于插件间的通信方法及相关设备 | |
CN105511935B (zh) | 资源索引值的获取方法及装置 | |
CN111142885B (zh) | 一种eSIM设备管理方法、装置、设备及存储介质 | |
CN103701653A (zh) | 一种接口热插拔配置数据的处理方法及网络配置服务器 | |
CN108446371A (zh) | 数据回导方法、装置、计算机设备及存储介质 | |
CN110417789A (zh) | 服务器连接方法、电子设备、系统及介质 | |
CN109740342A (zh) | 获取shell执行权限的方法、系统、计算机装置及存储介质 | |
CN103634142A (zh) | 一种同时管理用户态网口与内核虚拟网口的方法 | |
CN109753293A (zh) | 一种插件的处理方法及相关设备 | |
CN104572275B (zh) | 一种进程加载方法、装置及系统 | |
CN103034545B (zh) | 基于ace的通信框架和方法、及功能模块间的通信方法 | |
CN109739868A (zh) | 一种数据处理方法及其相关设备 | |
CN109756488A (zh) | 一种数据流获取方法、装置、设备及介质 | |
CN110166575A (zh) | 一种http代理方法、系统、装置及计算机介质 | |
CN108804236B (zh) | 一种aidl文件的共享方法及系统 | |
CN109859038A (zh) | 一种区块链智能合约的生效方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |