Abkey万能被授权人

| 漏洞检测 |
| 隐藏捆绑 |
构建自己的C/C++插件开发框架(一)DD初步设想
C/C++插件开发框架的要素 首先解决以下的几个问题: 1、如何注册插件; 2、如何调用插件; 3、如何测试插件; 4、插件的生命周期管理; 5、插件的管理和维护; 6、插件的组装; 7、插件的出错处理; 8、服务事件的广播和订阅(这个目前还没有考虑要支持);
C/C++的要素首先解决以下的几个问题:
1、如何注册;
2、如何调用插件;
3、如何测试插件;
4、插件的生命周期管理;
5、插件的管理和维护;
6、插件的组装;
7、插件的出错处理;
8、服务事件的广播和订阅(这个目前还没有考虑要支持);
其中有几个点很重要:1)插件要能够使模块松散耦合,做到真正的面向接口;2)框架要支持自动化测试:包括单元测试,集成测试;3)简化部署;4)支持分布式,模块可以调用框架外的插件。
采用的技术 插件框架要解决的一个问题就是插件的动态加载能力。这里可以使用共享库的动态加载技术。当然,为了简单,第一步只考虑做一个linux下的插件框架。
框架的总体结构上,参考OSGI的“微内核+系统插件+应用插件”结构。这里要好好考虑一下把什么做在内核中。关于微内核结构,以前我做个一个微内核流程引擎,会在后面有时间和大家分享。
框架中模块间的数据传送,有两种解决方法:一是普元采用的XML数据总线的做法。优点是扩展性好,可读性好。但是速度有些慢。二是采用我熟悉的信元流。优点的效率高,访问方便,但是可读性差一点,另外跨框架的数据传送,需要考虑网络字节序的问题。
对于框架间的通信,通过系统插件封装,对应用插件隐藏通信细节。
&&&&& 部署
&&&&& 努力做到一键式部署。
(责任编辑:幽灵学院)
------分隔线----------------------------
Note:Mutex是Windows中用于对线程控制的互斥量。意思是只能...
1 inline函数简介inline函数是由inline关键字来定义,引入in...
网上有很多对于STL空间配置器源码的剖析,之所以这么多人去...
在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先...
类的6个默认的成员函数包括:构造函数、析构函数、拷贝构造...
#include#pragma comment(lib, dbghelp.lib)LONG WINAPI Top...
工作日:9:00-21:00
周 六:9:00-18:00
&&扫一扫关注幽灵学院构建自己的C/C++插件开发框架(一)——初步设想
构建自己的C/C++插件开发框架(一)——初步设想
发布时间: 18:39:18
编辑:www.fx114.net
本篇文章主要介绍了"构建自己的C/C++插件开发框架(一)——初步设想",主要涉及到构建自己的C/C++插件开发框架(一)——初步设想方面的内容,对于构建自己的C/C++插件开发框架(一)——初步设想感兴趣的同学可以参考一下。
  最近一直在学习OSGI方面的知识。买了一本《OSGI原理和最佳实践》,可是还没有到。遗憾的是,OSGI目前的几个开源框架只支持Java,对C和C++都不支持的。可惜我们公司目前主要的开发语言还是c和c++,即便是引进OSGI,所得的好处范围有限。而我对松散耦合的模块化开发向往已久。查了一下OSGI对C++支持的好像是有一个开源项目,不过好像应用范围很小。而SCA标准中是有对C++实现模型的支持的,但是几个开源的框架目前还只支持JAVA。
  昨天看了丁亮的转载的一篇博客《C/C++:构建你自己的插件框架&》,原文的链接:&。看了一下里面讲的方法,自己倒是可以实现。所以有了构建自己的c/c++插件开发框架的想法。今天先写一下初步的设想。
  C/C++插件开发框架的要素
  BlueDavy有一篇介绍服务框架要素的文章(链接:&)。我的插件框架也要考虑、解决以下的几个问题:
  1、如何注册插件;
  2、如何调用插件;
  3、如何测试插件;
  4、插件的生命周期管理;
  5、插件的管理和维护;
  6、插件的组装;
  7、插件的出错处理;
  8、服务事件的广播和订阅(这个目前还没有考虑要支持);
  其中有几个点很重要:1)插件框架要能够使模块松散耦合,做到真正的面向接口编程;2)框架要支持自动化测试:包括单元测试,集成测试;3)简化部署;4)支持分布式,模块可以调用框架外的插件。
  采用的技术&
  插件框架要解决的一个问题就是插件的动态加载能力。这里可以使用共享库的动态加载技术。当然,为了简单,第一步只考虑做一个linux下的插件框架。
  总体结构
  框架的总体结构上,参考OSGI的“微内核+系统插件+应用插件”结构。这里要好好考虑一下把什么做在内核中。关于微内核结构,以前我做个一个微内核流程引擎,会在后面有时间和大家分享。
  框架中模块间的数据传送,有两种解决方法:一是普元采用的XML数据总线的做法。优点是扩展性好,可读性好。但是速度有些慢。二是采用我熟悉的信元流。优点的效率高,访问方便,但是可读性差一点,另外跨框架的数据传送,需要考虑网络字节序的问题。
  对于框架间的通信,通过系统插件封装,对应用插件隐藏通信细节。
&&&&& 部署
&&&&& 努力做到一键式部署。
本文标题:
本页链接:2075人阅读
系统设计 - System Design(11)
互联网企业要做大做强,“平台化”是绕不过的一个坎。抛开具体业务,如何在软件架构体系上支持平台化发展,是我最近在考虑的问题。“微内核”设计思想很早就提出来了,以前我曾经在开发传统的套装软件上运用过,现在看来同样也适用与互联网基础软件平台研发。以下内容来自“HTTL模板引擎”设计理念:但凡有生命力的产品,都是在扩展性方面设计的比较好的,因为没有哪个产品可以覆盖所有需求,对于开源软件尤其如此。所以,产品只有具有良好的扩展性,允许用户或第三方参与进来,进行二次开发,才能保持生命力。怎么样的扩展性才是最好的?通常来讲,就是没有任何功能是硬编码的,所有的功能都可被用户替换。那要如何才能做到这样?一个重要的原则就是:平等对待第三方——也就是凡是原作者能实现的功能,第三方也要能够在不改变源代码的前提下实现。换言之,原作者应把自己也当作扩展者,自己添加功能时,也要用第三方扩展者同样的方式进行,而不要有特权。要做到这一点,就需要一个良好的框架支撑,“微内核+插件”是一个不错的选择,Eclipse、Maven等知名软件都采用该体系。什么是“微内核+插件”?微内核,即最小化核心,内核只负责插件的组装,不带任何功能逻辑,所有功能都由可替换的插件实现,并且,组装过程应基于统一的规则,比如基于setter注入,而不能对不同插件硬编码组装,这样可以确保没有任何功能在内核中硬编码。比如:Spring, OSGI, JMX, ServiceLoader等都是常见的微核容器,它们负责基于统一规则的组装,但不带功能逻辑。非功能性的插件组装过程,可以由微内核框架来完成,那功能性的组装怎么办呢?我们可以把功能性的组装过程也封装成插件,即让大插件组装小插件,形成级联组装关系。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:370243次
积分:4453
积分:4453
排名:第5199名
原创:84篇
转载:12篇
评论:303条
(1)(1)(1)(1)(1)(2)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(5)(7)(4)(1)(7)(2)(5)(2)(2)(1)(1)(1)(3)(4)(5)(9)(20)软件体系结构中微内核模式的应用研究_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
软件体系结构中微内核模式的应用研究
上传于||文档简介
&&微​内​核
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢优秀研究生学位论文题录展示基于微内核技术的实时数据管理组件设计专 业: 测试计量技术及仪器关键词: 工业控制 事务调度 数据管理 组态软件分类号: TP278 
TP311.52形 态: 共 63 页 约 41,265 个字 约 1.974 M内容阅 读: 内容摘要现代工业发展,计算机在工业过程控制中得到广泛应用,生产过程的自动化要求系统规模的不断扩大和系统集成度不断提高,工业控制系统对工控软件的实时性也提出了更高的要求。设计高性能的实时数据管理系统,实现对工业控制现场实时数据的数据采集、数据管理以及数据共享,是问题得以解决的关键。本文将围绕这些问题展开研究与讨论。本文重点解决三个问题:1对工业生产现场实时数据的实时采集,确保数据的实时性、一致性;2对实时数据管理系统中的事务加以调度,使尽量多的事务在规定的时间要求内完成,从而使得所有事务能以最优的方式执行。3建立数据管理模型,设计数据访问接口,实现对现场实时数据的管理与共享。我们通过构建实时数据管理组件来解决这些问题。实时数据管理组件是以组件形式存在的实时数据管理系统。针对工业控制监控系统的实时性要求,结合实时数据处理技术和实时数据库的关键理论知识,从实时数据管理组件的事务调度、数据管理模型的建立、数据的组织、数据的管理、通用数据I/O接口以及应用层数据服务接口等方面入手,论述了构建实时数据管理组件的核心问题。提出了基于微内核技术的实时数据管理组件设计方案,实现了事务调度内核同其他功能块的分离,开发了实时数据管理组件。定义了组件的事件、属性和方法,给出了实时数据管理策略,缩短实时数据管理组件的响应时间,从而提高监控系统的实时性。在技术实现部分,采用面向对象编程思想,利用ActiveX技术实现了实时数据管理组件。应用层数据服务接口符合OLE Automation规范,数据采用VARIANT结构体封装,使得实时数据管理组件具有良好的通用性和扩展性..……全文目录文摘英文文摘1绪论1.1组态软件基本概念和特点1.2组态软件的发展背景和发展趋势1.3组态软件的结构体系1.4监控组态软件中实时数据管理组件的功能和地位1.5组件技术概述1.5.1组件的技术规范1.5.2 COM技术简介1.6论文的主要内容1.6.1课题的研究意义2实时数据管理组件设计2.1实时数据管理组件体系结构2.2微内核技术程序设计2.2.1微内核技术2.2.2微内核技术在实时数据管理组件中的应用2.3实时数据管理组件事务调度内核设计2.4实时数据管理组件内部其他功能块设计2.5小结3数据管理3.1数据管理建模的理论基础3.1.1数据的一致性3.1.2数据管理建模理论3.2数据管理模型设计3.2.1点映射模型3.2.2数据类设计3.3数据的存储与索引3.3.1数据的存储3.3.2数据的索引3.4小结4实时事务并发控制4.1实时事务综述4.1.1事务的ACID属性4.1.2事务的特性4.1.3事务的分类4.2事务并发控制4.2.1事务并发执行的问题4.2.2并发控制方法4.3基于锁的并发控制4.3.1高优先级优先算法4.3.2优先级继承算法4.3.3条件优先级继承算法4.4自治锁4.4.1自治锁概述4.4.2自治锁的实时事务并发控制模型4.4.3锁管理4.4.4死锁检测4.4.5死锁解决4.4.6优先级倒置解决4.4.7阻塞队列管理4.5小结5实时数据管理组件实现5.1实时数据管理组件的详细设计5.2实时数据管理核心实现5.2.1事务调度内核5.2.2设备描述文件5.2.3设备描述文件解析5.2.4数据验证5.2.5数据更新5.2.6组件控制模块5.3通用数据I/O接口设计与实现5.3.1实时性通讯线程5.3.2周期性以太网通讯线程5.3.3周期性串口通讯线程5.4应用层服务接口设计与实现5.3.1本地服务接口5.3.2远程服务接口5.5小结6实时数据管理组件在EPA现场总线演示系统中的应用6.1 EPA现场总线演示系统硬件构成6.2实时监控系统功能需求6.3实时监控系统数据集成方案6.4实时监控系统实时画面展示6.5小结结
论参考文献相似论文,58页,TP278
F426.7,62页,TP278
TP393.02,96页,TP278
TP271.8,64页,TP278
TQ127.1,62页,TP311.52
TG806,49页,TP311.52
TN407,61页,TP311.52
X851,64页,TP311.52
R616,51页,TP311.52
TF124.3,74页,TP274.2
TN919.72,141页,TP274 TP311.52,53页,TP274,86页,TP274.2,69页,TP277 TU858,80页,TP274.53,41页,TP273.2,54页,TP273 R443.8,58页,TP274 TH772,74页,TP274.2,61页,TP274中图分类:
> TP278 > 工业技术 > 自动化技术、计算机技术 > 自动化技术及设备 > 自动化系统 > 自动生产作业线其他分类:
> TP311.52 > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程
& 2012 book.

我要回帖

更多关于 转授权 的文章

 

随机推荐