您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于RTCORBA技术的嵌入式代理服务器设计 正文
基于RTCORBA技术的嵌入式代理服务器设计

基于RTCORBA技术的嵌入式代理服务器设计

点击数:7249 次   录入时间:03-04 11:35:59   整理:http://www.55dianzi.com   嵌入式系统-技术

在我们的系统中,内核映像与根文件系统映像都被加载到RAM中运行。之所以这样是因为,虽然在嵌入式系统中内核映像与根文件系统映像也可以直接在ROM或Flash这样的固态存储设备中直接运行,但这种做法无疑是以运行速度的牺牲为代价的,会影响到实时应用。

Boot Loader分为stage1和stage2两大部分。依赖于CPU体系结构的代码,比如设备初始化代码等,通常都放在stage1中,而且通常都用汇编语言来实现,以达到短小精悍的目的;而stage2则通常用C语言来实现,这样可以实现较复杂的功能,而且代码会具有更好的可读性和可移植性。

2.3 ORB

目前基于CORBA规范的产品有很多,著名的就有Orbix2000、JacORB、MICO、Visibroker、ORBit、TAO等。这些产品各有优缺点。这几种ORB产品中,TAO(The ACE ORB)是美国华盛顿大学的Douglas C.Schmidt博士领域开发的一个实时CORBA平台,是基于ACE创建的。它是一个开放源码项目,是完全免费的。使用C++语言开发,符合CORBA标准,而且还为高性能需求的实时系统进行了优化。因此,需要在Linux上安装ACE/ATO开发环境,ACE和TAO可以协同工作来提供复杂中间件解决方案。

2.4 应用程序开发

在基于中间件的分布式测控系统中,应用软件的编写发生了极大的变化。我们只需使用IDL编写统一的接口,就不必每次使用都考虑实现细节。

一个实时CORBA应用在逻辑上分为客户和服务器两个部分。客户端向服务器端主动发起服务请求,服务器端则被动接收服务请求。一个实时CORBA应用的客户端常包含多个服务请求(方法调用);除此外,还包含在本地执行的代码。在服务器端,则包含了这个方法的实现。在我们的这个系统中,代理服务器就是一个服务器端,测控网络中其它的工作站则是客户端。它们调用代理服务器上的方法,以获取现场检测数据和修改现场设备的参数。

    在服务器端,一般每个现场设备对应一个实时对象。这个对象提供操作这个对象(设备)的方法和对象的性质。如果客户端需要操作某一个设备,它只需请求调用代理服务器上这个设备所对应的实现对象的方法,代理服务器所获得的数据以返回值的形式传给客户端,这样就完成了一次服务。实际上,这些实时对象作为现场设备的代码,对上层应用屏蔽了设备实现的复杂性,提供统一的服务。

ORB机制可以透明地实现传送请求给对象,并将响应返回给提出请求的客户。通过使客户不再管理方法激活的具体实现,从而简化了分布式应用程序。当客户激活一个方法,ORG负责定位对象实现并透明的激活。将请求传输给对象实现并返回结果。通常ORB包括对象实现、对象定位和对象通信机制。这些特性允许应用开发者更多地关心其本身的应用领域的开发,而较少考虑低级的分布系统程序设计。但是,为了提高更丰富的功能,不应该仅仅使用CORBA默认的定位、通信机制,还需要使用到CORBA的各种对象服务。

在我们的实现中,设备对象都有自己的状态信息,这些信息都将通过事件服务来传递。在使用事件服务之前,应先启动事件服务器。在我们的系统中使用的是TAO的事件服务器。启动事件服务器后,命名服务器将注册到智能代理中,并将事件服务通常的IOR定入一个文件。然后可以使用这个IOR文件启动事件提供者程序和使用者程序。

3 总结

分布式中间件技术在信息技术领域已经得到了广泛应用。使用分布式中间件技术可以方便地开发、集成、升级和维护各种应用系统,大大降低了构建应用系统的代价,并极大地提高了生产效率。开发和应用分布式实时测控系统也必将成为起来测控网络的发展方向。

本文使用基于RTCORBA中间件技术的代理服务器来连接两种异构网络,实现LON网到Ethernet的互联,并且具备了数据透明传输、无缝互操作、实时的特性,在测控网络中具有极大的使用价值和广阔的发展前景。



上一页  [1] [2] 


本文关键字:技术  嵌入式  代理服务器  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术