基于中间件插件框架的插件内存资源控制方法及客户端的制作方法

文档序号:9471137阅读:306来源:国知局
基于中间件插件框架的插件内存资源控制方法及客户端的制作方法
【技术领域】
[0001] 本发明涉及一种中间件设计系统及方法,尤其涉及一种基于中间件插件框架的插 件内存资源控制方法及客户端。
【背景技术】
[0002] 传统的插件开发需要大量技术人员来完成,且开发的插件与中间件(如iPanel中 间件)的耦合性太高,安全性偏低,无法通过插件对相应底层设备进行控制。同时,现有的 中间件无法对插件状态和资源使用情况进行控制。
[0003] 从现在发展趋势看,中间件的功能扩展已经非常复杂,维护起来需要大量的资源, 而中间件本身特有内容的维护时间却相对较少,严重影响产品各方面质量。同时,现有的中 间件缺少必要的灵活性,功能扩展性较差,给开发及维护人员带来很大负担。
[0004] 特别地,现有的中间件对内存资源管理只是针对某一固定的应用程序(一个实 例)进行控制,当插件运行由页面触发时,可能会出现同一插件的多个实例,现有的中间件 无法对多实例进行控制。

【发明内容】

[0005] 鉴于以上内容,有必要提供一种基于中间件插件框架的插件内存资源控制方法及 客户端,其可通过创建的中间件插件框架,快速开发出自定义的功能插件,并运行于中间件 上,利用中间件控制插件的内存资源使用情况。
[0006] -种基于中间件插件框架的插件内存资源控制方法,运行于客户端,该方法包括: 设置客户端中的中间件插件框架,该中间件插件框架包括中间件单元和插件单元,所述中 间件单元包括插件管理器、Web引擎、及应用程序接口API模块,所述插件单元包括一个插 件库和一个插件框架模块,所述插件框架模块包括插件接口和框架接口;当客户端的一个 插件启动时,插件管理器对该插件进行验证;当该插件通过验证时,插件管理器给该插件随 机分配一个插件实例标识符;在该插件运行的过程中,插件单元中的插件框架模块将该插 件实例标识符注册到插件框架模块的插件接口中;当该插件进行内存操作时,插件框架模 块根据预先设置的内存操作条件和该插件的插件实例标识符,监测该插件的内存操作;如 果该插件的内存操作符合预先设置的内存操作条件,则插件框架模块向插件管理器返回内 存操作成功的信息,然后继续执行内存操作;如果该插件的内存操作不符合预先设置的内 存操作条件,则阻止该内存操作,然后向插件管理器返回内存操作失败的信息。
[0007] -种基于中间件插件框架的客户端,该客户端包括:中间件插件框架,该中间件插 件框架包括中间件单元和插件单元,所述中间件单元包括插件管理器、Web引擎、及应用程 序接口API模块,所述插件单元包括一个插件库和一个插件框架模块,所述插件框架模块 包括插件接口和框架接口;所述插件管理器用于,当客户端的一个插件启动时,对该插件进 行验证;所述插件管理器还用于,当该插件通过验证时,给该插件随机分配一个插件实例标 识符;所述插件框架模块用于,在该插件运行的过程中,将该插件实例标识符注册到插件框 架模块的插件接口中;所述插件框架模块还用于,当该插件进行内存操作时,根据预先设置 的内存操作条件和该插件的插件实例标识符,监测该插件的内存操作;所述插件框架模块 还用于,如果该插件的内存操作符合预先设置的内存操作条件,则向插件管理器返回内存 操作成功的信息,然后继续执行内存操作;所述插件框架模块还用于,如果该插件的内存操 作不符合预先设置的内存操作条件,则阻止该内存操作,然后向插件管理器返回内存操作 失败的息。
[0008] 相较于现有技术,上述基于中间件插件框架的插件内存资源控制方法及客户端, 通过创建的中间件插件框架,快速开发出自定义的功能插件,并运行于中间件上,利用中间 件控制插件的内存资源使用情况。
[0009] 本发明在插件管理器中设置了一个内存资源控制部分,在插件验证通过后读取插 件下载时的xml描述文件,其中包括当前插件需要的资源数。内存资源控制部分在记录下 当前插件需要的资源数的同时,在插件运行时会根据此插件的标识符classic!随机生成一 个插件实例标识符pluginid,该插件实例标识符pluginid被注册到插件所使用的资源相 关接口中对内存资源进行控制。如果再有一个此插件的实例产生,再生成一个Pluginid以 控制此插件的内存资源。在本发明中,内存资源控制部分会在插件运行时通过此pluginid 来记录和判断每一个插件实例的内存资源是否使用得当。
[0010] 本发明可以防止第三方插件占用太多内存资源导致中间件运行缓慢甚至于死机 等情况的发生。合理的内存资源管理可以有效的限制第三方插件的操作权限,同时部分默 认的附加条件(如:系统操作路径)也将第三方插件的操作限制在一个可控范围内,从而保 证中间件的顺利运行。
[0011] 本发明满足快速增长的用户个性化业务需求,第三方开发者可以根据中间件插件 框架提供的插件接口快速开发出个性化的插件应用程序,然后由中间件进行控制运行,从 而降低了第三方插件功能开发的难度,提高了中间件的可扩展性,减少了中间件技术人员 与第三方插件开发者在沟通交流确认等繁琐事务上的时间。
【附图说明】
[0012] 图1是本发明中间件插件框架设计系统的主体示意图。
[0013] 图2是本发明中间件插件框架设计系统的应用环境示意图。
[0014] 图3是本发明中间件插件框架设计方法的主体流程图。
[0015] 图4是插件单元中的插件框架模块与中间件单元中的API模块的关联图。
[0016] 图5是本发明基于中间件插件框架的插件状态控制方法的主体流程图。
[0017] 图6是插件包制作流程示意图。
[0018] 图7是对第一插件列表和第二插件列表中的字段说明。
[0019] 图8是本发明基于中间件插件框架的插件内存资源控制方法的主体流程图。
[0020] 图9是本发明基于中间件插件框架的插件文档资源控制方法的主体流程图。
[0021] 图10是本发明基于中间件插件框架的插件Socket资源控制方法的主体流程图。
[0022] 图11是本发明基于中间件插件框架的插件安全控制方法中插件安全发布流程 图。
[0023] 图12是本发明基于中间件插件框架的插件安全控制方法中插件下载校验流程 图。
[0024] 图13是本发明基于中间件插件框架的插件安全控制方法中插件运行校验流程 图。
【具体实施方式】
[0025] 如图1所示,是本发明中间件插件框架设计系统的主体示意图。在本发明中,所述 中间件插件框架设计系统20包括中间件单元21和插件单元22。其中,所述中间件单元21 包括插件管理器(PluginManager) 210、Web引擎(即网页引擎)211、及API(Application ProgramInterface,应用程序接口)模块213。例如,所述中间件单元21可以为iPanel中 间件。
[0026] 在本实施例中,所述Web引擎211为WebCore引擎,所述API模块213包括多个中 间件基础功能函数,如Timer(时钟)相关函数、Socket(套接字)处理函数、线程处理函数、 图形图像处理函数、文件操作函数、事件处理函数、私有Java脚本对象注册函数、字体操作 函数、及绘图(Graphics)相关函数等。
[0027] 所述插件单元22包括一个插件库220和一个插件框架(FrameWork)模块221。所 述插件库220包括一个或多个插件应用程序(插件App,以下简称为"插件"),所述插件框 架模块221进一步包括插件接口 2210和框架接口 2212。
[0028] 所述框架接口 2212由中间件(如中间件单元21)实现供插件库220中的插件调 用,达到插件单元22向中间件单元21的单向通信目的,插件单元22通过此框架接口 2212 获取诸如:时钟、线程、socket、graphics、文件管理等中间件单元21的系统资源,如内存资 源,文档资源(如文本、图片、声音、视频等),及Socket资源等。所述插件接口 2210由插件 实现供中间件单元21调用,达到中间件单元21向插件单元22的单向通信目的,中间件单 元21通过插件接口 2210调用插件所实现的功能,如读取插件处理数据等。
[0029] 在本实施例中,所述插件管理器210与插件单元22的插件接口 2210连接,用于控 制插件的校验、安装(包括下载、加载等)和卸载等操作。所述Web引擎211与插件单元22 的框架接口 2212连接,用于当插件通过插件管理器210的校验后,启动该插件。所述插件 接口 2210包括一个或多个API程序接口,所述框架接口 2212提供一个插件基础框架,该插 件基础框架可以是NP(Netscape,网景)插件框架,包括插件从加载到销毁整个生命周期的 框架。
[0030] 一个插件基础框架的例子如下:
[0031]

[0033] 在上述插件基础框架的例子中,其所定义的函数指针已基本包含一个插件所有可 执行程序的应有接口。基于上述插件基础框架,可以构造一个或多个插件接口 2210GBAPI程序接口)。
[
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1