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

文档序号:9452835阅读:来源:国知局
构造一个或多个插件接口 2210 (如API程序接口)。
[0034] 根据上述插件基础框架构造的一个绘图应用程序接口的例子如下:
[0035]
[0036]
[0037] 当所述插件接口 2210中的API程序接口被插件调用时,插件管理器210将调用的 API程序接口映射到中间件单元21中的API模块213中相应的API基础功能函数,调用该 相应的API基础功能函数,如绘图相关函数等,以完成相应的插件功能。插件框架模块221 与中间件单元21中的API模块213的关联关系参阅图4所示。当一个插件需要中间件单 元21中的API模块213提供的API基础功能函数时,插件管理器210将插件接口 2210中 相应的API程序接口填充到所述框架接口 2212。当所述插件接口 2210中的API程序接口 被该插件调用时,将调用的API程序接口映射到中间件单元21中的API模块213中相应的 API基础功能函数,调用该相应的API基础功能函数,以完成该插件的功能。
[0038] 例如,当一个插件需要显示图片时,需要中间件单元21中的API模块213提供的 图片处理函数(如图片解码函数)提供支持,则插件管理器210将插件接口 2210中的图片 程序接口填充到框架接口 2212,并将图片程序接口映射到API模块213中的图片处理函数, 调用该图片处理函数来显示图片。
[0039] 参阅图2所示,所述中间件插件框架设计系统20应用于客户端2,所述客户端2 可以是数字机顶盒等电子装置。第三方开发者可以根据插件接口 2210提供的一个或多个 API程序接口,开发出相应的插件,并通过打包加密工具10将开发出的插件上传至服务端 1,该打包加密工具10可以由客户端2提供。插件管理器210与服务端1通讯连接,可以通 过HTTP(HypertextTransferProtocol,超文本传输协议)或其它网络传输协议从服务端 1下载插件的加密数据包,并将下载的插件存储于插件单元22的插件库220。
[0040] 需要说明的是,上述服务端1和客户端2还包括其他必要的硬件资源和软件系统, 如显示屏幕、输入设备、存储器、处理器和操作系统等。所述服务端1和客户端2可以提供 一个或多个模块,所述一个或多个模块被存储在所述服务端1和客户端2的存储器中并被 配置成由服务端1和客户端2的处理器执行,以完成本发明。本发明所称的模块是完成一 特定功能的计算机程序段,比程序更适合于描述软件在服务端1和客户端2中的执行过程。
[0041] 当客户端2启动时,所述插件管理器210会检测插件库220中插件的合法性,例 如,检测插件库220中的插件版本与服务端1中的插件版本是否一致,检测插件库220中的 插件内容与服务端1中的插件内容是否一致等。
[0042] 所述插件管理器210还用于控制插件的安装、更新、及卸载等操作,具体描述参阅 图5至图7的说明。
[0043] 以下结合图3进一步描述中间件插件框架设计系统20 (以下简称为"中间件插件 框架20")的运作流程。
[0044] 如图3所示,是本发明中间件插件框架设计方法的主体流程图。
[0045] 步骤S101,设置客户端2中的中间件插件框架20,包括中间件单元21和插件单元 22〇
[0046] 步骤S102,当客户端2接收到一个插件请求时,中间件单元21的插件管理器210 根据该插件请求中的插件标识符(记为"classid")查找对应的插件。在本实施例中,所述 插件标识符为一个字符串,一个插件对应唯一的插件标识符。参阅图2所示,一个插件可以 通过HTML(HypertextMarkupLanguage,超文本链接标示语言)页面向客户端2触发一个 插件请求(页面触发),该插件请求包括该插件的唯一标识符classid。插件管理器210根 据该插件标识符classid对该插件进行统一管理。
[0047] 步骤S103,当查找到对应的插件后,插件管理器210将插件单元22的插件框架模 块221中的框架接口 2212注册到中间件单元21的Web引擎211,以启动该插件。在其他实 施例中,该插件也可以在客户端2开机后自动从后台启动,并由插件管理器210触发管理。
[0048] 步骤S104,插件管理器210给该插件随机分配一个插件实例标识符(记为 "pluginid"),并建立上述插件标识符classid与该插件实例标识符pluginid的关联。插 件的运行需要创建一个插件实例,通过该插件实例完成相应的插件操作,例如,如果插件 为Flash播放器,则插件实例可以是正在播放的Flash播放器,多实例就是同时开启多个 Flash播放器同时进行播放,每一个在播放的Flash播放器都是一个插件实例。在本实施例 中,所述插件实例标识符可以是一个随机整数,一个插件实例对应唯一的插件实例标识符。
[0049] 步骤S105,在该插件运行的过程中,插件单元22中的插件框架模块221根据上述 插件实例标识符控制该插件的资源使用情况。在本实施例中,资源使用情况的控制包括,但 不限于,内存资源使用控制机制、文档资源使用控制机制、Socket资源使用控制机制,具体 描述参阅图8至图10的描述。
[0050] 进一步地,所述中间件插件框架设计系统20设置有插件安全机制,用于加密和校 验第三方开发的插件,整个加密体系包括三个方面的流程,安全发布流程、下载校验流程和 运行校验流程,具体描述参阅图11至图13的说明。
[0051] 在本实施例中,所述中间件插件框架设计系统20具有以下特性:
[0052] (1)可靠性和安全性
[0053] 中间件插件框架设计系统20充分考虑插件的安全机制:在插件包制作过程中进 行签名和加密处理,在发布、下载、运行三个阶段进行多层校验,确保插件的整个生命周期 中软件程序的安全可控。
[0054] (2)与中间件的低耦合性
[0055] 插件的下载、加载由插件管理器210管理,运行由插件框架模块221控制,而这两 者都是从中间件中剥离出来可以独立构成的模块,具有独立的流程数据行为,两者与中间 件的唯一交互通道就是框架接口 2212在Web引擎211中的提供给外部模块使用的接口。插 件作为单独的功能模块,相互之间独立运行,通过统一接口与中间件单元21进行通信,无 直接关联。
[0056] (3)开发实现的高效性
[0057] 根据插件的一般功能性需求,中间件插件框架设计系统20整合了中间件软件结 构,搭建出插件开发基本框架,第三方开发者只需根据插件接口 2210提供的一个或多个 API程序接口,开发出相应的插件,即可实现一个可被中间件单元21识别的合法插件。
[0058] 各个功能模块(如中间单元21、插件单元22)可以并行开发,有效缩短开发周期。 由于具体的功能细化到插件,功能剥离后整个中间件单元21结构更清晰,降低了系统设计 复杂度,同时降低了功能变化带来的风险,实现中间件功能组件的"即插即用"。
[0059] (4)插件运行可控性
[0060] 鉴于中间件单元21在客户端2的主导作用,在本实施例中,通过插件的校验和插 件资源使用情况的控制,插件的行为被适当约束,包括禁止加载非法未授权的插件、监控合 法插件的操作行为、合理控制插件申请和使用中间件单元21的系统资源等,防止中间件单 元21负荷过载而无法正常运行。
[0061] 以下结合图5至图7的描述具体介绍所述插件管理器210控制插件的安装、更新、 及卸载等操作。
[0062] 参阅图5所示,是本发明基于中间件插件框架的插件状态控制方法的主体流程 图。该方法基于上述的中间件插件框架。
[0063] 步骤S201,客户端2开机时,中间件单元21中的插件管理器210获取客户端2中 已经安装的插件,生成第一插件列表。在本实施例中,所述第一插件列表为XML(Extensible MarkupLanguage,可扩展标记语言)格式文件。所述第一插件列表中存储有所获取插件的 插件标识符和版本号等信息。
[0064] 参阅图6所示,在本实施例中,一个插件在开发完成后,需要使用客户端2提供的 打包加密工具10,对插件应用程序(*?so文件)和插件描述信息(*?json文件)进行加密 打包生成加密插件包(*.zip)上传至服务端1。其中json格式的插件描述信息中包含了 插件的标识符(classid)、版本(Version)、加密参数(key、MD5)等基本信息。终端中间件 在安装该插件前,需要使用上述插件描述信息对其合法性进行校验。
[0065] 步骤S202,插件管理器210将该第一插件列表与状态获取请求一同发送至服务端 1,并接收服务端1返回的与该第一插件列表对应的第二插件列表。在本实施例中,所述第 二插件列表为XML格式文件,所述第二插件列表中存储有通过服务端1校验的插件的插件 标识符和每个通过校验的插件的状态信息。所述状态信息包括,但不限于,安装状态、更新 状态、及卸载状态。例如,如果第一插件列表中的插件版本号与服务端1中最新的版本号不 一致,则判定插件需要更新(更新状态)。
[0066] 在本实施例中,所述插件管理器210通过HTTP POST方式向服务端1发送状态
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1