[发明专利]一种支持动态配置的构件模型及构件工厂的装置有效
申请号: | 201210044862.5 | 申请日: | 2012-02-24 |
公开(公告)号: | CN102622227B | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 曾广平;岳洋;艾冬梅;肖超恩;张青川;王琦 | 申请(专利权)人: | 北京科技大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 北京市海淀区学*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 动态 配置 构件 模型 工厂 | ||
1.一种支持动态配置的构件模型及构件工厂的装置,其特征在于,
所述构件模型包括:业务接口、构件体和管理外壳;其中,所述业务接口模块是构件与外界的服务交互点;所述构件体模块用于嵌套包含子构件;所述管理外壳模块提供支持动态配置的元接口;
所述构件工厂用于在Java平台下创建构件实例,以实现构件从静态体系结构描述到可运行实例的无缝过渡;
其中,所述管理外壳模块提供支持动态配置的元接口,包括:
生命周期协调元接口,用于提供对构件的运行状态进行动态调控的接口;
成员管理元接口,用于提供对构件内的子构件成员进行动态配置的接口;
绑定连接元接口,用于提供对构件之间的接口绑定进行动态配置的接口;
其中,所述构件工厂用于实现构件从静态体系结构描述到可运行实例的无缝过渡,所述构件工厂包括:
元接口实现框架模块,用于遵循构件模型的元接口标准定义,在Java平台下提供元接口的内核编码实现,为动态创建构件实例提供基础类库;
ADL解析器模块,用于载入构件的体系结构描述,生成一棵可被字节码动态产生器执行的实例化任务树;
字节码动态产生器模块,用于一边遍历所述实例化任务树,一边基于ASM字节码框架创建构件实例对应的各对象实体的字节数组;
类动态加载器模块,用于把字节数组转换为类的实例,采用双亲委托的加载链机制,将返回的Class对象载入JVM,以创建可运行的构件实例。
2.根据权利要求1所述的支持动态配置的构件模型及构件工厂的装置,其特征在于,所述的构件可运行实例的特征在于基于对象范型创建与构件实例相映射的一组对象集,具体包括:
业务接口对象,构件的每个业务接口对应一个业务接口对象,该对象拥有业务接口实现对象的强引用,用于将对接口的操作调用分派给对应的实现对象来执行;
业务接口实现对象,与业务接口对象一一对应,该业务接口实现对象提供了业务接口的具体功能实现;
元接口对象,由外壳元接口实例化得到,用于接收外界对构件的动态配置请求,并委派给相应元接口实现对象处理;
元接口实现对象,每一个元接口对象都将对应一个实现对象,用于接受元接口对象的委托请求,是观测、控制和调整构件行为或结构、实现动态配置逻辑的核心实体;
上下文对象,用于建立上述对象集与构件之间的映射关联,由它来维护构件自身运行的上下文属性,该对象将构件的其它关联对象的引用存储在专用数据结构中,以维持各对象之间的因果联系。
3.根据权利要求1所述的支持动态配置的构件模型及构件工厂的装置,其特征在于,所述元接口实现框架模块的实现方法包括:
生命周期协调器,用于将目标构件及其子构件由正常运行状态正确切换到相对静止的安全配置状态,有效避免生命周期协调过程中因阻塞重入请求而引发的构件异常死锁;
成员管理器,用于在构件的构件体内部动态添加、删除或者更新子构件;
绑定连接器,用于在构件的业务接口之间动态建立/解除连接,或者对已经存在的绑定进行重定向。
4.根据权利要求1所述的支持动态配置的构件模型及构件工厂的装置,其特征在于,所述ADL解析器模块的实现装置包括:
AST转换器单元,用于一边读取载有体系结构描述的XML文档,一边将其变换成一个特定的结构化中间表达——抽象语法树;
任务规划器单元,用于一边遍历抽象语法树,一边定义构件实例化过程中的各种任务,最终生成一棵可被字节码动态生成器执行的实例化任务树。
5.根据权利要求1所述的支持动态配置的构件模型及构件工厂的装置,其特征在于,所述字节码动态产生器模块的实现装置主要包括:
业务接口实现类产生器单元,用于创建业务接口实现类,它基于AOP动态编织技术,可将拦截型的多维控制代码动态添加到构件的业务接口实现类中;
元接口实现类产生器单元,用于创建元接口实现类,它基于线性混入技术,将所述元接口实现框架单元内的混入式多态类聚合在元接口实现类中;
上下文类产生器单元,用于创建上下文类,它是与每一个构件实例相对应的背景环境对象,由该对象维护构件自身运行的上下文属性,可将构件的其他关联类的引用存储在专用数据结构中,以维持各对象之间的因果联系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科技大学,未经北京科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210044862.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种蔬菜栽培中利用沼肥施肥的方法
- 下一篇:一种前扫声纳图像拼接方法