CN102141922A - 一种微内核插件化程序应用***及其实现方法 - Google Patents

一种微内核插件化程序应用***及其实现方法 Download PDF

Info

Publication number
CN102141922A
CN102141922A CN2010101062295A CN201010106229A CN102141922A CN 102141922 A CN102141922 A CN 102141922A CN 2010101062295 A CN2010101062295 A CN 2010101062295A CN 201010106229 A CN201010106229 A CN 201010106229A CN 102141922 A CN102141922 A CN 102141922A
Authority
CN
China
Prior art keywords
plug
unit
resource
configuration file
resource configuration
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.)
Granted
Application number
CN2010101062295A
Other languages
English (en)
Other versions
CN102141922B (zh
Inventor
黄朝兴
唐声福
陈天民
黄军
张欣
陈月璇
夏蕾
欧阳江平
李建峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201010106229.5A priority Critical patent/CN102141922B/zh
Priority claimed from CN201010106229.5A external-priority patent/CN102141922B/zh
Publication of CN102141922A publication Critical patent/CN102141922A/zh
Application granted granted Critical
Publication of CN102141922B publication Critical patent/CN102141922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种微内核插件化程序应用***及其实现方法,用于解决现有软件架构方式下,软件更新效率低、冗余度大等技术问题。本发明实现了一个友好的基于插件的软件更新***,软件更新时以插件为单位作为更新逻辑单元,减少了更新冗余。使用可扩展的插件结构,通过插件资源描述文件描述插件之间的依赖关系,微内核可根据插件资源配置文件嵌套加载插件资源,扩展性强。微内核依据插件资源配置文件先下载并加载包含关键功能的根插件,再下载并加载根插件所依赖的子插件,先加载的插件先使用,提升了用户体验。本发明实现了自动化插件版本判断、插件的自动下载及基于插件的懒加载程序架构,实现了***升级的自动化。

Description

一种微内核插件化程序应用***及其实现方法
技术领域
本发明涉及程序语言的架构设计领域,尤其涉及一种微内核插件化程序应用***及其实现方法。
背景技术
在软件的插件化架构实现中,有比较成熟的实现实例,比如eclipse的实现。eclipse的规范主要是基于java语言的架构,在其它语言(比如C++)环境中还没有建立标准化的插件***。
传统的软件***通过网络进行软件升级有如下几种方案:
1)直接下载最新的安装包安装。
2)软件***自己检测新版本,提示用户下载并安装。
3)在方法2的基础上,检测本地的版本,上报服务器,服务器给出增量包的地址,然后客户端下载服务器上的增量升级包并安装。
方案1,2都是比较常用的方法,但效率比较低,即使有一点小的变化也得下载整个安装包。方案3的差量包的生成技术决定了下载的冗余度,而且上述3个方案都需要用户协助并且下载完成安装。
发明内容
有鉴于此,本发明的主要目的在于提供一种微内核插件化程序应用***及其实现方法,用于解决现有程序应用架构不够灵活、软件更新效率低、冗余度大等技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种微内核插件化程序应用***的实现方法,包括:
程序应用的业务逻辑基于插件来实现,使用插件资源配置文件描述组成程序应用的插件所依赖的资源信息,在程序应用运行时,由微内核依据插件资源配置文件加载所需插件。所述插件所依赖的资源信息包括插件信息和资源信息;所述插件信息至少包括:插件的名称、插件所在动态链接库、插件标识;所述资源信息至少包括资源文件名称。
进一步地,当所述程序应用基于多个插件实现时,所述插件资源配置文件还用于描述插件之间的依赖关系,所述插件信息还包含所述插件依赖的子插件信息,所述微内核先加载上层插件,后加载子插件,先加载的插件先提供服务。
进一步地,所述微内核在依据插件资源配置文件加载插件之前,先从服务器端下载最新版本的插件资源配置文件,并根据所述最新版本的插件资源配置文件从服务器端下载插件所依赖的资源。优选地,所述微内核在加载插件之前,先从服务器端获取当前插件资源配置文件的最新版本号,当依据所述版本号判定本地的插件资源配置文件不是最新版本时,再从服务器端下载最新版本的插件资源配置文件,并根据所述最新版本的插件资源配置文件从服务器端下载插件所依赖资源的最新版本。
基于上述方法,本发明还提出一种微内核插件化程序应用***,包括:
插件资源配置文件,用于描述组成程序应用的插件所依赖的资源信息;所述插件所依赖的资源信息包括插件信息和资源信息;所述插件信息至少包括:插件的名称、插件所在动态链接库、插件标识;所述资源信息至少包括资源文件名称。
微内核,用于依据插件资源配置文件加载组成程序应用的插件以实现程序应用的业务逻辑。
进一步地,当所述应用程序基于多个插件实现时,所述插件资源配置文件还用于描述插件之间的关系,所述插件信息还包含所述插件依赖的子插件信息,所述微内核先加载上层插件,后加载子插件,先加载的插件先提供服务。
进一步地,所述***还包括:
资源下载服务器,用于根据微内核的下载请求提供插件资源配置文件及插件所依赖资源的下载;
所述微内核包括资源下载组件和插件加载器;
资源下载组件,用于根据插件加载器的请求,从资源下载服务器下载最新的插件资源配置文件及插件所依赖的资源;
插件加载器,用于解析插件资源配置文件,并根据插件资源配置文件加载插件。
进一步地,所述***还包括:
插件版本控制服务器,用于控制插件资源配置文件的版本号;
所述微内核还包括:插件版本控制组件,用于根据插件加载器的请求向插件版本控制服务器发送版本查询请求,获取最新版本的插件资源配置文件版本号,当本地的插件资源配置文件的版本不是最新版本时,所述微内核请求资源下载组件下载最新的插件资源配置文件。
本发明实现了一个友好的基于插件的软件更新***,软件更新时以插件为单位作为更新逻辑单元,减少了更新冗余。使用可扩展的插件结构,通过插件资源描述文件描述插件之间的依赖关系,微内核可根据插件资源配置文件嵌套加载插件资源,扩展性很强,实现了良好的***结构。微内核在加载插件时,自动判断插件版本、下载插件资源,实现了***升级的自动化,无需要用户协助。
附图说明
图1为本发明基于插件的程序更新***结构图;
图2为本发明基于插件的程序更新***执行程序更新的流程图;
图3为本发明加载子插件的插件加载流程图。
具体实施方式
本发明的基本思想是:程序应用的业务逻辑基于插件来实现,使用插件资源配置文件描述组成程序应用的插件所依赖的资源信息,在程序应用运行时,由微内核依据插件资源配置文件加载所需插件。此外为了保证程序应用的版本为最新,所述微内核在依据插件资源配置文件加载插件时,首先从服务器端下载最新版本的插件资源配置文件,并根据最新版本的插件资源配置文件从服务器端下载该插件所依赖的资源。当程序应用基于多个插件实现时,所述插件资源配置文件还用于描述插件之间的依赖关系,一个插件还可依赖于一个或多个子插件,所述微内核先加载上层插件,后加载子插件,先加载的插件先提供服务,后加载的插件后提供服务,每加载成功一个插件用户即可使用该插件提供的服务,减少用户等待时间,改善了用户体验。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为本发明基于微内核插件化的程序应用***结构图,该***包括:程序应用、插件版本控制服务器、资源下载服务器。
插件版本控制服务器,用于控制插件资源配置文件的版本,在插件版本控制服务器中存储有当前各插件对应的插件资源配置文件的最新版本号,所述插件资源配置文件用于描述插件依赖的资源,本发明一具体实施例中,将插件资源配置文件与个性化逻辑对应,一个插件资源配置文件描述一种个性化逻辑所依赖的资源,所述资源包括动态链接库、多媒体支持文件等。
资源下载服务器,用于提供插件资源配置文件及插件所依赖资源的下载;
微内核,为程序应用的核心模块,用于依据插件资源配置文件加载所需插件;还用于向插件版本控制服务器发送版本查询请求,根据插件版本控制服务器返回的插件资源配置文件的最新版本号判断本地插件版本是否为最新,若不是最新,则向资源下载服务器发送下载插件资源配置文件请求,在接收到资源下载服务器返回的最新的插件资源配置文件后,对其解析,从资源下载服务器下载插件资源配置文件中指示插件所依赖的资源。
所述微内核包括:插件加载器、插件版本控制组件、资源下载组件;
插件加载器,用于依据插件资源配置文件加载插件;还用于在微内核初始运行时向插件版本控制组件查询插件资源配置文件的版本;在获得插件版本控制组件反馈的最新的插件资源配置文件的版本号后和本地插件资源配置文件的版本号进行比对,若本地插件版本已经是最新版本,则直接加载,否则根据预置规则获得最新的插件资源配置文件的下载地址,请求资源下载组件下载对应的插件资源配置文件,也可由资源下载组件根据预置规则获得插件资源配置文件的下载地址后从资源下载服务器下载对应的插件资源配置文件;所述微内核所加载的插件可为一个或多个;插件加载器在获得最新插件资源配置文件后还负责对其进行解析,获得插件所依赖的资源标识和/或资源地址,然后请求资源下载组件下载对应的资源。
插件版本控制组件用于向插件版本控制服务器发起版本查询请求,在获得插件版本控制服务器的响应后将查询结果反馈给插件加载器;
资源下载组件用于根据插件加载器的请求,从资源下载服务器下载插件资源配置文件及插件所依赖的资源文件。
本发明另一具体实施例中提供了一种简化的微内核插件化程序应用,该程序应用只包含插件资源配置文件、插件所依赖的资源,微内核中也不包含插件资源配置文件及插件所依赖资源的下载逻辑,默认上述文件都已下载到本地,则微内核可直接加载。该简化结构中,微内核只包含插件加载器,在程序应用运行时,由微内核依据从本地读取的插件资源配置文件加载所需插件。
可选地,本发明另一具体实施例中,只包含微内核和资源下载服务器,微内核在加载插件时,根据预置的规则,依据插件标识和/或产品名称获得对应的插件资源配置文件的下载地址,直接到资源下载服务器上固定的下载地址下载最新的插件资源配置文件,从而确保每次都使用到最新的版本配置。相应地,在微内核中也只需要包含插件加载器和资源下载组件,在微内核运行时,直接请求资源下载组件从资源服务器上下载最新的插件资源配置文件,省去了通过插件版本控制组件进行版本比对的步骤,从而保证了每次运行时,加载运行的都是最新的插件版本。
图2为本发明基于插件的程序更新***执行程序更新的流程图,具体步骤如下:
步骤201:在微内核启动运行后,插件加载器向插件版本控制组件请求插件版本;
步骤202:插件版本控制组件发送插件版本查询请求消息给插件版本控制服务器,获取插件的版本;请求消息中携带插件标识、产品名称等信息,本发明一具体实施例中,一个插件对应一种个性化逻辑,通过产品名称对该插件类型进行二级分类;
步骤203:插件版本控制组件获取插件版本成功后将获取的插件版本号发送给插件加载器;
步骤204:插件加载器根据与资源下载服务器约定的规则将插件版本号映射为插件资源配置文件的下载地址,请求资源下载组件下载插件对应的插件资源配置文件;
步骤205:资源下载组件从资源下载服务器下载与插件版本对应的插件资源配置文件;
步骤206:资源下载组件将下载的插件资源配置文件发送给插件加载器;
步骤207:插件加载器解析插件资源配置文件,获得插件所依赖的资源的标识、下载地址等信息;插件加载器请求资源下载组件下载对应的资源文件;
步骤208:资源下载组件从资源下载服务器下载资源文件;
步骤209:资源下载组件将下载的资源文件反馈给插件加载器,插件加载器加载所述资源。
本发明中的插件资源配置文件用于描述组成程序应用的插件所依赖的资源信息,插件所依赖的资源信息包括插件信息和资源信息;所述插件信息至少包括:插件的名称、插件所在动态链接库、插件标识等;所述资源信息至少包括资源文件名称。本发明一具体实施例中,插件资源配置文件使用XML(ExtensibleMarkup Language,可扩展标记语言)来描述插件所依赖的资源,通过XML语言不仅可描述插件本身的属性,而且还可结构化的描述插件之间的依赖关系,本发明中一个插件可依赖其它子插件而存在。以下为本发明采用XML语言的插件资源配置文件的实例:
<?xml version=″1.0″standalone=″yes″?>
<PluginXML Version=″1″>
<Plugin Name=″flashenginepreinitializer″LibraryName=″FlashEngine.dll″
ObjectID=″0X00000010″>
<PrivateConfig>$flashversionlowlimited$[0X09000000],
$flashocxpackagepath$[flashengine\defaultflashcontrol.zip]
</PrivateConfig>
<Res>
<Item Priority=″2″DownloadType=″KernelZIP″
FILE=″FlashEngine.zip″Hash=″″Version=″1″size=″″/>
</Res>
<Children>
<Plugin Name=″flashengine″LibraryName=″FlashEngine.dll″
ObjectID=″0X0F013001″>
<Children>
<Plugin Name=″qqpetagent″LibraryName=″QQPetAgent.dll″
ObjectID=″0x00000001″>
<Res>
<Item Priority=″2″DownloadType=″KemelZIP″
FILE=″QQPetAgentMain.zip″Hash=″″Version=″1″size=″″/>
</Res>
</Plugin>
</Children>
</Plugin>
</Children>
</Plugin>
</PluginXML>
Plugin标签中的Name属性定义插件的名字,LibraryName属性定义插件所在的库,ObjectID属性定义插件在库中的标识ID;Res标签项定义插件依赖的资源文件,在创建插件之前需要下载准备好Res标签中的Item标签所定义的资源;Children标签中可嵌套定义子插件,在本插件初始化完成后会加载子插件,这反应了插件之间的加载关系和依赖关系;PrivateConfig标签用于定义插件的一些配置。
图3为本发明加载子插件的插件加载流程图,为了具有通用性,该流程示例根子插件及根子插件下的子插件的加载流程,根子插件属于某一上层插件,一个插件可能拥有多个同层的兄弟插件,也可拥有多个子插件。程序客户端的微内核依据插件资源配置文件所描述的插件之间的依赖关系,嵌套执行根插件及其子插件所依赖资源的下载,并在上层插件资源下载完毕后首先加载上层插件,先加载的插件先提供服务,实现了懒加载的程序架构。子插件加载流程如下:
步骤301:在插件加载器解析到插件资源配置文件中包含子插件时,开始子插件加载过程;首先插件加载器请求资源下载组件下载当前层级的根子插件所依赖的资源;
步骤302:执行根子插件的预初始化和初始化;
插件对象的预初始化不是必须,但预初始化可提醒插件初始化准备必要的服务接口,便于兄弟节点使用,而且该方法中可以使用factroy创建子对象。
步骤303:将根子插件绑定到上层父插件,即将根子插件集合的指针和父插件关联(在同一个层级可同时包括多个子插件);
步骤304:当解析到根子插件还包含子插件时,通过跟子插件的接口启动加载子插件的流程;
步骤305:插件加载器请求资源下载组件下载根子插件的子插件x的资源;
步骤306:初始化和预初始化子插件x;
步骤307:将子插件x绑定到根子插件上;
步骤308:如果子插件x还依赖下一层的子插件,则插件加载器嵌套执行子插件的加载流程。如果同一层级下有多个子插件,则循环执行步骤304至步骤308。
本发明实现了遍历和寻找插件的服务接口,具体遍历插件和寻找插件的方法为:插件初始化函数被调用时会获得父节点指针,插件加载子节点后,绑定子插件函数被调用会获得子插件节点的指针接口IChildren,这样通过接口可以实现所有的插件遍历。插件通过插件查询函数(QueryInterface)对外提供接口服务,也可以直接继承于IPlugin,但IPlugin方式中一个插件只能够提供一个服务接口。
本发明一具体实施例中,接口创建和动态链接库(dll)管理框架基于对象工厂(factory)模式实现,包含三个方法,分别负责创建对象,销毁对象和注册新dll代替旧dll,本发明所述插件包含于动态链接库中。
创建对象步骤为:
(1)调用***库装载函数(Loadlibrary)加载dll;
(2)取得创建对象的函数(CreateObject),该函数定义在dll中;
(3)调用CreateObject函数,传入指定的对象标识(dwObjectID),创建指定对象;
(4)调用所创建对象中的方法SetFactory把factory指针传给创建的对象,使之可以使用factory的方法。
***使用一个dll中的对象时需要让factory创建dll文件中的接口,而如果某一个dll更新,并且文件名变化的话,依赖这个文件名创建某一个接口的库也需要重新编译,因此也就需要重新发布。本发明在管理框架中包含一个新dll注册方法Re gisterNewLibrary,该方法使得被依赖dll重新编译,并且文件名变化后在接口不变的情况下,依赖它的dll无需重新编译,从而减少了重新编译的库,减少了***更新的代价。
销毁对象步骤:
(1)调用对象Finalize函数,通知对象做析构前的处理;
(2)如果是同步析构则直接调用对象的Free方法,析构对象;
(3)如果是异步析构则在下一消息循环调用对象的Free方法,析构对象。
本发明的插件发布流程为:
(1)实现IPlugin接口,生成包含插件的库文件;
(2)为库文件命名后,将库文件放到资源下载服务器;
(3)把插件依赖的资源参数,包括名称、属性、地址等,添加到插件资源配置文件,形成新的插件资源配置文件;
(4)升级插件版本控制服务器上的插件版本号或插件资源配置文件的版本号。
上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种微内核插件化程序应用***的实现方法,其特征在于,包括:
程序应用的业务逻辑基于插件来实现,使用插件资源配置文件描述组成程序应用的插件所依赖的资源信息,在程序应用运行时,由微内核依据插件资源配置文件加载所需插件。
2.根据权利要求1所述的方法,其特征在于,所述插件所依赖的资源信息包括插件信息和资源信息;所述插件信息至少包括:插件的名称、插件所在动态链接库、插件标识;所述资源信息至少包括资源文件名称。
3.根据权利要求1所述的方法,其特征在于,当所述程序应用基于多个插件实现时,所述插件资源配置文件还用于描述插件之间的依赖关系,所述插件信息还包含所述插件依赖的子插件信息,所述微内核先加载上层插件,后加载子插件,先加载的插件先提供服务。
4.根据权利要求3所述的方法,其特征在于,所述微内核在依据插件资源配置文件加载插件之前,先从服务器端下载最新版本的插件资源配置文件,并根据所述最新版本的插件资源配置文件从服务器端下载插件所依赖的资源。
5.根据权利要求3所述的方法,其特征在于,所述微内核在加载插件之前,先从服务器端获取当前插件资源配置文件的最新版本号,当依据所述版本号判定本地的插件资源配置文件不是最新版本时,再从服务器端下载最新版本的插件资源配置文件,并根据所述最新版本的插件资源配置文件从服务器端下载插件所依赖资源的最新版本。
6.一种微内核插件化程序应用***,其特征在于,包括:
插件资源配置文件,用于描述组成程序应用的插件所依赖的资源信息;
微内核,用于依据插件资源配置文件加载组成程序应用的插件以实现程序应用的业务逻辑。
7.根据权利要求6所述的***,其特征在于,所述插件所依赖的资源信息包括插件信息和资源信息;所述插件信息至少包括:插件的名称、插件所在动态链接库、插件标识;所述资源信息至少包括资源文件名称。
8.根据权利要求7所述的***,其特征在于,当所述应用程序基于多个插件实现时,所述插件资源配置文件还用于描述插件之间的关系,所述插件信息还包含所述插件依赖的子插件信息,所述微内核先加载上层插件,后加载子插件,先加载的插件先提供服务。
9.根据权利要求6所述的***,其特征在于,所述***还包括:
资源下载服务器,用于根据微内核的下载请求提供插件资源配置文件及插件所依赖资源的下载;
所述微内核包括资源下载组件和插件加载器;
资源下载组件,用于根据插件加载器的请求,从资源下载服务器下载最新的插件资源配置文件及插件所依赖的资源;
插件加载器,用于解析插件资源配置文件,并根据插件资源配置文件加载插件。
10.根据权利要求9所述的***,其特征在于,所述***还包括:
插件版本控制服务器,用于控制插件资源配置文件的版本号;
所述微内核还包括:插件版本控制组件,用于根据插件加载器的请求向插件版本控制服务器发送版本查询请求,获取最新版本的插件资源配置文件版本号,当本地的插件资源配置文件的版本不是最新版本时,所述微内核请求资源下载组件下载最新的插件资源配置文件。
CN201010106229.5A 2010-01-29 一种微内核插件化应用***及其实现方法 Active CN102141922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010106229.5A CN102141922B (zh) 2010-01-29 一种微内核插件化应用***及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010106229.5A CN102141922B (zh) 2010-01-29 一种微内核插件化应用***及其实现方法

Publications (2)

Publication Number Publication Date
CN102141922A true CN102141922A (zh) 2011-08-03
CN102141922B CN102141922B (zh) 2016-12-14

Family

ID=

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760068A (zh) * 2012-06-01 2012-10-31 奇智软件(北京)有限公司 一种ActiveX插件加载方法和装置
CN103092645A (zh) * 2012-12-31 2013-05-08 武汉中地数码科技有限公司 一种基于微内核技术的地理空间信息应用***及其实现方法
CN103176844A (zh) * 2011-09-28 2013-06-26 北京奇虎科技有限公司 一种ie6内核与新型ie内核的切换方法和***
WO2013097610A1 (zh) * 2011-12-26 2013-07-04 腾讯科技(深圳)有限公司 一种基于即时通信软件实现插件升级的方法及装置
CN103353846A (zh) * 2013-06-28 2013-10-16 四川农业大学 一种项目自动部署插件
CN103377059A (zh) * 2012-04-23 2013-10-30 阿里巴巴集团控股有限公司 基于jQuery框架的功能模块动态加载方法和装置
CN103795740A (zh) * 2012-10-29 2014-05-14 腾讯科技(深圳)有限公司 插件安装包的下载方法及下载终端
CN104363237A (zh) * 2014-11-21 2015-02-18 中国科学院声学研究所 一种互联网媒体资源元数据的处理方法及其***
CN104731619A (zh) * 2015-03-26 2015-06-24 杭州初灵信息技术股份有限公司 一种ice中加载c#应用组件的方法和***
CN105138352A (zh) * 2015-07-31 2015-12-09 百度在线网络技术(北京)有限公司 一种用于安装应用插件的方法和装置
CN105373396A (zh) * 2015-08-14 2016-03-02 腾讯科技(深圳)有限公司 插件平台中的插件更新方法和装置
CN105511907A (zh) * 2015-11-26 2016-04-20 小米科技有限责任公司 应用程序升级方法、装置及***
CN105511909A (zh) * 2015-11-26 2016-04-20 北京奇虎科技有限公司 处理插件的方法及装置
CN105893094A (zh) * 2016-03-31 2016-08-24 百度在线网络技术(北京)有限公司 应用程序插件化的实现方法和装置
CN105912357A (zh) * 2016-03-31 2016-08-31 北京奇艺世纪科技有限公司 一种混合应用的启动方法及装置
CN105912366A (zh) * 2016-04-14 2016-08-31 广州市久邦数码科技有限公司 一种桌面应用程序插件化的实现方法
CN107273142A (zh) * 2017-07-12 2017-10-20 北京潘达互娱科技有限公司 程序更新方法、程序运行方法及装置
WO2018040926A1 (zh) * 2016-08-31 2018-03-08 福建联迪商用设备有限公司 一种维护软件包依赖关系的方法及***
CN108536486A (zh) * 2018-04-08 2018-09-14 苏州犀牛网络科技有限公司 Rn小程序的加载方法及装置
CN109240758A (zh) * 2018-07-25 2019-01-18 武汉精测电子集团股份有限公司 一种支持插件接口同步异步统一调用的方法及微内核架构
CN111124525A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 一种网站功能实现方法和装置
CN111475193A (zh) * 2020-06-04 2020-07-31 成都安易迅科技有限公司 一种插件的动态更新方法、装置,电子设备及存储介质
CN111857860A (zh) * 2019-04-30 2020-10-30 烽火通信科技股份有限公司 一种安全加载插件的实现方法及***
CN111857765A (zh) * 2020-06-16 2020-10-30 深圳晶泰科技有限公司 用于药物设计***的插件***及其生成方法和更新方法
CN112445975A (zh) * 2020-11-20 2021-03-05 北京思特奇信息技术股份有限公司 一种基于人物画像实现批价业务处理的方法和***
CN113535254A (zh) * 2020-04-20 2021-10-22 华为技术有限公司 一种微服务的处理方法、部署方法和相关装置
WO2022183810A1 (zh) * 2021-03-01 2022-09-09 京东科技控股股份有限公司 插件更新方法、装置、电子设备、***和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641569A (zh) * 2004-01-06 2005-07-20 英业达股份有限公司 Java小应用程序下插件功能的实现方法
US20060026591A1 (en) * 2004-08-02 2006-02-02 International Business Machines Corporation Method and apparatus for providing a pluggable and extendable J2EE architecture
CN1968154A (zh) * 2006-09-15 2007-05-23 华为技术有限公司 使用插件进行业务扩展的***及其方法
CN101464805A (zh) * 2008-12-24 2009-06-24 中兴通讯股份有限公司 一种插件管理方法及其***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641569A (zh) * 2004-01-06 2005-07-20 英业达股份有限公司 Java小应用程序下插件功能的实现方法
US20060026591A1 (en) * 2004-08-02 2006-02-02 International Business Machines Corporation Method and apparatus for providing a pluggable and extendable J2EE architecture
CN1968154A (zh) * 2006-09-15 2007-05-23 华为技术有限公司 使用插件进行业务扩展的***及其方法
CN101464805A (zh) * 2008-12-24 2009-06-24 中兴通讯股份有限公司 一种插件管理方法及其***

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176844B (zh) * 2011-09-28 2016-03-30 北京奇虎科技有限公司 一种ie6内核与新型ie内核的切换方法和***
CN103176844A (zh) * 2011-09-28 2013-06-26 北京奇虎科技有限公司 一种ie6内核与新型ie内核的切换方法和***
WO2013097610A1 (zh) * 2011-12-26 2013-07-04 腾讯科技(深圳)有限公司 一种基于即时通信软件实现插件升级的方法及装置
CN103377059A (zh) * 2012-04-23 2013-10-30 阿里巴巴集团控股有限公司 基于jQuery框架的功能模块动态加载方法和装置
CN103377059B (zh) * 2012-04-23 2016-09-28 阿里巴巴集团控股有限公司 基于jQuery框架的功能模块动态加载方法和装置
CN102760068B (zh) * 2012-06-01 2015-07-22 北京奇虎科技有限公司 一种ActiveX插件加载方法和装置
CN102760068A (zh) * 2012-06-01 2012-10-31 奇智软件(北京)有限公司 一种ActiveX插件加载方法和装置
CN103795740A (zh) * 2012-10-29 2014-05-14 腾讯科技(深圳)有限公司 插件安装包的下载方法及下载终端
CN103092645B (zh) * 2012-12-31 2016-02-10 武汉中地数码科技有限公司 一种基于微内核技术的地理空间信息应用***及其实现方法
CN103092645A (zh) * 2012-12-31 2013-05-08 武汉中地数码科技有限公司 一种基于微内核技术的地理空间信息应用***及其实现方法
CN103353846A (zh) * 2013-06-28 2013-10-16 四川农业大学 一种项目自动部署插件
CN104363237A (zh) * 2014-11-21 2015-02-18 中国科学院声学研究所 一种互联网媒体资源元数据的处理方法及其***
CN104363237B (zh) * 2014-11-21 2017-09-19 中国科学院声学研究所 一种互联网媒体资源元数据的处理方法及其***
CN104731619A (zh) * 2015-03-26 2015-06-24 杭州初灵信息技术股份有限公司 一种ice中加载c#应用组件的方法和***
CN105138352A (zh) * 2015-07-31 2015-12-09 百度在线网络技术(北京)有限公司 一种用于安装应用插件的方法和装置
CN105138352B (zh) * 2015-07-31 2020-03-20 百度在线网络技术(北京)有限公司 一种用于安装应用插件的方法和装置
CN105373396A (zh) * 2015-08-14 2016-03-02 腾讯科技(深圳)有限公司 插件平台中的插件更新方法和装置
CN105373396B (zh) * 2015-08-14 2018-01-05 腾讯科技(深圳)有限公司 插件平台中的插件更新加载方法和装置
CN105511909B (zh) * 2015-11-26 2018-09-11 北京奇虎科技有限公司 处理插件的方法及装置
CN105511907A (zh) * 2015-11-26 2016-04-20 小米科技有限责任公司 应用程序升级方法、装置及***
CN105511909A (zh) * 2015-11-26 2016-04-20 北京奇虎科技有限公司 处理插件的方法及装置
CN105511907B (zh) * 2015-11-26 2020-03-17 小米科技有限责任公司 应用程序升级方法、装置及***
CN105912357A (zh) * 2016-03-31 2016-08-31 北京奇艺世纪科技有限公司 一种混合应用的启动方法及装置
CN105912357B (zh) * 2016-03-31 2021-08-06 北京奇艺世纪科技有限公司 一种混合应用的启动方法及装置
CN105893094A (zh) * 2016-03-31 2016-08-24 百度在线网络技术(北京)有限公司 应用程序插件化的实现方法和装置
CN105893094B (zh) * 2016-03-31 2019-05-03 百度在线网络技术(北京)有限公司 应用程序插件化的实现方法和装置
CN105912366A (zh) * 2016-04-14 2016-08-31 广州市久邦数码科技有限公司 一种桌面应用程序插件化的实现方法
CN105912366B (zh) * 2016-04-14 2019-07-05 广州久邦世纪科技有限公司 一种桌面应用程序插件化的实现方法
WO2018040926A1 (zh) * 2016-08-31 2018-03-08 福建联迪商用设备有限公司 一种维护软件包依赖关系的方法及***
CN107273142A (zh) * 2017-07-12 2017-10-20 北京潘达互娱科技有限公司 程序更新方法、程序运行方法及装置
CN107273142B (zh) * 2017-07-12 2021-04-23 北京龙之心科技有限公司 程序更新方法、程序运行方法及装置
CN108536486A (zh) * 2018-04-08 2018-09-14 苏州犀牛网络科技有限公司 Rn小程序的加载方法及装置
CN109240758A (zh) * 2018-07-25 2019-01-18 武汉精测电子集团股份有限公司 一种支持插件接口同步异步统一调用的方法及微内核架构
CN111124525A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 一种网站功能实现方法和装置
CN111857860A (zh) * 2019-04-30 2020-10-30 烽火通信科技股份有限公司 一种安全加载插件的实现方法及***
CN113535254A (zh) * 2020-04-20 2021-10-22 华为技术有限公司 一种微服务的处理方法、部署方法和相关装置
CN111475193A (zh) * 2020-06-04 2020-07-31 成都安易迅科技有限公司 一种插件的动态更新方法、装置,电子设备及存储介质
CN111475193B (zh) * 2020-06-04 2021-03-30 成都安易迅科技有限公司 一种插件的动态更新方法、装置,电子设备及存储介质
CN111857765A (zh) * 2020-06-16 2020-10-30 深圳晶泰科技有限公司 用于药物设计***的插件***及其生成方法和更新方法
CN112445975A (zh) * 2020-11-20 2021-03-05 北京思特奇信息技术股份有限公司 一种基于人物画像实现批价业务处理的方法和***
WO2022183810A1 (zh) * 2021-03-01 2022-09-09 京东科技控股股份有限公司 插件更新方法、装置、电子设备、***和存储介质

Similar Documents

Publication Publication Date Title
CN102413022B (zh) 一种应用调试方法和***
US8448163B2 (en) Deploying J2EE web applications in an OSGI environment
US7640542B2 (en) Managing midlet suites in OSGI environment
US20080270617A1 (en) Method, System and Article of Manufacture for Providing Connections and Connection Aliases Descriptors by Services and Libraries Archives
US8762977B2 (en) Mobile device software management method and apparatus
US20080256225A1 (en) Osgi-Based Dynamic Service Management Method for Context-Aware Systems
US20090249369A1 (en) Module-to-module association support method, program, and system
CN101571809A (zh) 一种插件注册的实现方法及其装置
US20040088397A1 (en) System and method for management of software applications
CN102523268A (zh) 一种客户端升级方法和***
CN101719073A (zh) 一种基于智能客户端的按需下载实现方法
CN101694625A (zh) 基于加密服务器管理的客户端软件更新方法及装置
CN104699537A (zh) 程序控制方法与活动组件调度方法及其相应的装置
CN1991757A (zh) 实现软件升级的方法
US9811353B1 (en) Remotely invoking dynamic classes on a computing device
US20070061277A1 (en) Method, system, and storage medium for providing dynamic deployment of grid services over a computer network
US9009667B2 (en) Application server that supports multiple component models
CN114968406B (zh) 一种插件管理方法、装置、电子设备及存储介质
CN106502685B (zh) 一种数据库的升级方法及***
CN115543546A (zh) 一种基于Spring的模块热部署方法及***
CN111683005B (zh) 一种物联网智能网关设备及其构建方法
KR20050094372A (ko) 멀티미디어 콘텐츠 서비스 시스템과 방법 및 그 기록매체
CN103677842A (zh) 软件工具配置式集成扩展调用方法与***
CN115437643A (zh) 项目代码转换方法、装置、设备及存储介质
CN113448793A (zh) 一种兼容多操作***的***监控方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant