一种微内核插件化程序应用系统及其实现方法技术方案

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

【技术实现步骤摘要】
一种微内核插件化应用系统及其实现方法
本专利技术涉及程序语言的架构设计领域,尤其涉及一种微内核插件化应用系统及其实现方法。
技术介绍
在软件的插件化架构实现中,有比较成熟的实现实例,比如eclipse的实现。eclipse的规范主要是基于java语言的架构,在其它语言(比如C++)环境中还没有建立标准化的插件系统。传统的软件系统通过网络进行软件升级有如下几种方案:1)直接下载最新的安装包安装。2)软件系统自己检测新版本,提示用户下载并安装。3)在方法2的基础上,检测本地的版本,上报服务器,服务器给出增量包的地址,然后客户端下载服务器上的增量升级包并安装。方案1,2都是比较常用的方法,但效率比较低,即使有一点小的变化也得下载整个安装包。方案3的差量包的生成技术决定了下载的冗余度,而且上述3个方案都需要用户协助并且下载完成安装。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种微内核插件化应用系统及其实现方法,用于解决现有程序应用架构不够灵活、软件更新效率低、冗余度大等技术问题。为达到上述目的,本专利技术的技术方案是这样实现的:一种微内核插件化程序应用系统的实现方法,包括:基于插件实现应用的业务逻辑,使用插件资源配置文件描述组成应用的插件所依赖的资源信息,在应用运行时,由微内核依据插件资源配置文件加载所需插件。所述插件所依赖的资源信息包括插件信息和资源信息;所述插件信息至少包括:插件的名称、插件所在动态链接库、插件标识;所述资源信息至少包括资源文件名称。进一步地,当所述应用基于多个插件实现时,所述插件资源配置文件还用于描述插件之间的依赖关系,所述插件信息还包含所述插件依赖的子插件信息,所述微内核基于所述插件之间的依赖关系先加载上层插件,后加载子插件,先加载的插件先提供服务。进一步地,所述微内核在依据插件资源配置文件加载插件之前,先从服务器端下载最新版本的插件资源配置文件,并根据所述最新版本的插件资源配置文件从服务器端下载插件所依赖的资源。优选地,所述微内核在加载插件之前,先从服务器端获取当前插件资源配置文件的最新版本号,当依据所述版本号判定本地的插件资源配置文件不是最新版本时,再从服务器端下载最新版本的插件资源配置文件,并根据所述最新版本的插件资源配置文件从服务器端下载插件所依赖资源的最新版本。基于上述方法,本专利技术还提出一种微内核插件化应用系统,包括:插件资源配置文件,用于描述组成应用的插件所依赖的资源信息;所述应用基于插件实现其业务逻辑;所述插件所依赖的资源信息包括插件信息和资源信息;所述插件信息至少包括:插件的名称、插件所在动态链接库、插件标识;所述资源信息至少包括资源文件名称。微内核,用于依据插件资源配置文件加载组成应用的插件以运行所述应用。进一步地,当所述应用程序基于多个插件实现时,所述插件资源配置文件还用于描述插件之间的关系,所述插件信息还包含所述插件依赖的子插件信息,所述微内核先加载上层插件,后加载子插件,先加载的插件先提供服务。进一步地,所述系统还包括:资源下载服务器,用于根据微内核的下载请求提供插件资源配置文件及插件所依赖资源的下载服务;所述微内核包括资源下载组件和插件加载器;资源下载组件,用于根据插件加载器的请求,从资源下载服务器下载最新的插件资源配置文件及插件所依赖的资源;插件加载器,用于解析插件资源配置文件,并根据插件资源配置文件加载插件。进一步地,所述系统还包括:插件版本控制服务器,用于控制插件资源配置文件的版本号;所述微内核还包括:插件版本控制组件,用于根据插件加载器的请求向插件版本控制服务器发送版本查询请求,获取最新版本的插件资源配置文件版本号,当本地的插件资源配置文件的版本不是最新版本时,所述微内核请求资源下载组件下载最新的插件资源配置文件。本专利技术实现了一个友好的基于插件的软件更新系统,软件更新时以插件为单位作为更新逻辑单元,减少了更新冗余。使用可扩展的插件结构,通过插件资源描述文件描述插件之间的依赖关系,微内核可根据插件资源配置文件嵌套加载插件资源,扩展性很强,实现了良好的系统结构。微内核在加载插件时,自动判断插件版本、下载插件资源,实现了系统升级自动化,无需要用户协助。附图说明图1为本专利技术基于插件的程序更新系统结构图;图2为本专利技术基于插件的程序更新系统执行程序更新的流程图;图3为本专利技术加载子插件的插件加载流程图。具体实施方式本专利技术的基本思想是:程序应用的业务逻辑基于插件来实现,使用插件资源配置文件描述组成程序应用的插件所依赖的资源信息,在程序应用运行时,由微内核依据插件资源配置文件加载所需插件。此外为了保证程序应用的版本为最新,所述微内核在依据插件资源配置文件加载插件时,首先从服务器端下载最新版本的插件资源配置文件,并根据最新版本的插件资源配置文件从服务器端下载该插件所依赖的资源。当程序应用基于多个插件实现时,所述插件资源配置文件还用于描述插件之间的依赖关系,一个插件还可依赖于一个或多个子插件,所述微内核先加载上层插件,后加载子插件,先加载的插件先提供服务,后加载的插件后提供服务,每加载成功一个插件用户即可使用该插件提供的服务,减少用户等待时间,改善了用户体验。为使本专利技术的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本专利技术进一步详细说明。图1为本专利技术基于微内核插件化的程序应用系统结构图,该系统包括:程序应用、插件版本控制服务器、资源下载服务器。插件版本控制服务器,用于控制插件资源配置文件的版本,在插件版本控制服务器中存储有当前各插件对应的插件资源配置文件的最新版本号,所述插件资源配置文件用于描述插件依赖的资源,本专利技术一具体实施例中,将插件资源配置文件与个性化逻辑对应,一个插件资源配置文件描述一种个性化逻辑所依赖的资源,所述资源包括动态链接库、多媒体支持文件等。资源下载服务器,用于提供插件资源配置文件及插件所依赖资源的下载;微内核,为程序应用的核心模块,用于依据插件资源配置文件加载所需插件;还用于向插件版本控制服务器发送版本查询请求,根据插件版本控制服务器返回的插件资源配置文件的最新版本号判断本地插件版本是否为最新,若不是最新,则向资源下载服务器发送下载插件资源配置文件请求,在接收到资源下载服务器返回的最新的插件资源配置文件后,对其解析,从资源下载服务器下载插件资源配置文件中指示插件所依赖的资源。所述微内核包括:插件加载器、插件版本控制组件、资源下载组件;插件加载器,用于依据插件资源配置文件加载插件;还用于在微内核初始运行时向插件版本控制组件查询插件资源配置文件的版本;在获得插件版本控制组件反馈的最新的插件资源配置文件的版本号后和本地插件资源配置文件的版本号进行比对,若本地插件版本已经是最新版本,则直接加载,否则根据预置规则获得最新的插件资源配置文件的下载地址,请求资源下载组件下载对应的插件资源配置文件,也可由资源下载组件根据预置规则获得插件资源配置文件的下载地址后从资源下载服务器下载对应的插件资源配置文件;所述微内核所加载的插件可为一个或多个;插件加载器在获得最新插件资源配置文件后还负责对其进行解析,获得插件所依赖的资源标识和/或资源地址,然后请求资源下载组件下载对应的资源。插件版本控制组件用于向插件版本控制服务器发起版本查询本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201010106229.html" title="一种微内核插件化程序应用系统及其实现方法原文来自X技术">微内核插件化程序应用系统及其实现方法</a>

【技术保护点】
1.一种微内核插件化程序应用系统的实现方法,其特征在于,包括:程序应用的业务逻辑基于插件来实现,使用插件资源配置文件描述组成程序应用的插件所依赖的资源信息,在程序应用运行时,由微内核依据插件资源配置文件加载所需插件。

【技术特征摘要】
1.一种微内核插件化应用系统的实现方法,其特征在于,包括:基于插件实现应用的业务逻辑,使用插件资源配置文件描述插件所依赖的资源信息,在应用运行时,由微内核依据插件资源配置文件加载所需插件;其中,所述插件资源配置文件与个性化逻辑对应,一个插件资源配置文件描述一种个性化逻辑所依赖的资源;所述微内核包括资源下载组件和插件加载器;所述微内核依据插件资源配置文件加载插件时,先经由资源下载组件从服务器端下载最新版本的插件资源配置文件,资源下载组件再基于插件加载器的请求根据最新版本的插件资源配置文件从服务器端下载该插件所依赖的资源;其中,当所述应用基于多个插件实现时,所述插件信息还包含所述插件依赖的子插件信息;所述微内核基于所述插件之间的依赖关系先加载上层插件,后加载子插件,先加载的插件先提供服务。2.根据权利要求1所述的方法,其特征在于,所述插件所依赖的资源信息包括插件信息和资源信息;所述插件信息至少包括:插件的名称、插件所在动态链接库、插件标识;所述资源信息至少包括资源文件名称。3.根据权利要求1所述的方法,其特征在于,所述微内核在加载插件之前,先从服务器端获取当前插件资源配置文件的最新版本号,当依据所述版本号判定本地的插件资源配置文件不是最新版本时,再从服务器端下载最新版本的插件资源配置文件,并根据所述最新版本的插件资源配置文件从服务器端下载插件所依赖资源的最新版本。4.一种微内核插件化应用系统,其特征在于,包括:插件资源配置文件,用于描述组成应用的插件所依赖的资源信息,所述应用基于插件实现其业务逻辑;其中...

【专利技术属性】
技术研发人员:黄朝兴唐声福陈天民黄军张欣陈月璇夏蕾欧阳江平李建峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

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

1