您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术Jini在分布式嵌入式系统中的应用 正文
Jini在分布式嵌入式系统中的应用

Jini在分布式嵌入式系统中的应用

点击数:7268 次   录入时间:03-04 11:42:34   整理:http://www.55dianzi.com   嵌入式系统-技术
摘要:Jini是一种基于Java的全新的构建分布式系统的技术,具有动态的、自形成的和自管理的特性,可用于构建动态的分布式嵌入式系统。本文首先介绍Jini体系结构及特点,然后系统阐述如何利用Jini来开发分布式嵌入式系统。其中包括Jini在构建分布式嵌入式系统中的优势、嵌入式系统接入Jini网络的方法和当前Jini在分布式嵌入式系统中的应用实例。

    关键词:Jini 分布式嵌入式系统 Jini代理体系结构 EIB

引 言

  嵌入式系统是指以应用为中心、以计算机技术为基础、软件硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。随着计算机技术和相关电子技术的发展,嵌入式系统的应用已经深入到社会中的各个领域,如家用电器、移动通信、航空、航天、医疗、工业控制和军事等。在嵌入式系统的某些应用中,通常采用分布式体系结构,不同的嵌入式设备之间以某种方式相互连接、彼此协作,这就要求整个系统具有很好的灵活性和可靠性。

  Jini是一种全新的构建分布式系统的技术,具有动态的、自形成的和自管理的特性,它是一种真正的基于服务的分布式体系结构。另外,基于Java的Jini技术提高了分布式系统编程的抽象级别,简化了分布式系统的开发。在构建分布式嵌入式系统的过程中利用Jini互联技术,不但可以降低系统开发难度,实现嵌入式环境中基于服务级的互操作,而且还可提高整个系统的灵活性和可靠性。因此Jini技术推出后,人们很快就开始关注如何将Jini应用于分布式嵌入式系统的开发[1~3]。

1 Jini技术概述

    1.1 Jini的体系结构

   Jini是1999年1月Sun公司发布的一种基于Java的全新的用于构建分布式系统的技术,利用Jini可以使得软件和硬件自发地结合起来,形成一个Jini服务联盟。

  一个Jini系统由下列组件组成[4]:

◇基础设施组件——提供一个在分布式系统中建立起服务联盟的框架;

◇编程模型组件——支持建立可靠的分布式服务;

◇服务组件——可以成为Jini服务联盟中的一部分并且向联盟中的其它成员提供服务。

   尽管Jini系统由三部分组件组成,但是它们之间的界限是模糊的,组件之间紧密相连、彼此协作。Jini是建立在分布式系统、经常动态变化这一原则之上的。它的体系结构如图1所示。

  服务是Jini体系结构中最重要的概念。它可以指任何实体提供的功能。其中实体可以是任何硬件设备、软件或是硬件和软件的结合体。服务通过查找服务注册后就可以通过实现了Java远程接口的一个接口来调用。用户通过向查找服务请求并且下载服务的代理对象来和服务之间通信。查找服务自身也是一个服务,能够跟踪每个服务并且向用户提供服务的代理对象。

  Jini的体系结构建立在以下环境假设的基础上[5]:

◇有一个网络并且具有合理的网络延迟,以不影响Jini系统的性能(要求网络底层使用的通信协议是TCP和UDP[3]);

◇每个支持Jini的设备具有一定内存和处理能力;

◇每个设备都需要装备一个Java虚拟机。

    任何实体都可以成为服务提供者(即服务)或服务请求者(即用户)。当一个实体作为一个服务的提供者时,对它具有如下的要求:

◇为实现发现和加入查找服务的功能,服务提供者必须拥有网络功能;

◇为了能够下载一个查找服务的代理,需要一个Java虚拟机,并且虚拟机支持标准的Java和RMI;

◇为保存与注册相关的信息,需要有存储功能;

◇为了实现以上的各种计算,需要有一个处理器。

同样,一个服务请求者的实体具有如下要求:

◇为实现发现查找服务的功能,服务请求者必须支持网络;

◇为了下载并且服务对象代理,需要一个Java虚拟机和存储功能;

◇需要实现计算的处理器。

因此,一个实体要接入Jini网络成为服务提供者或是服务请求者,它自身需要具备一定的内存和处理能力,以及网络和Java功能,称满足这些要求的实体是支持Jini的。

1.2 Jini技术的特点

  Jini的核心功能是提供一种基于网络动态的、自形成的和自管理的服务联盟,具有如下特点。

  ① Jini是即插即用的:服务提供者加入Jini网络后,通过查找服务注册后即可向使用者提供服务;服务的使用者加入Jini网络后即可通过查找服务使用相应的服务,之后离开。

  ② 使用户可以很容易地访问网络中任何位置的资源,即使是用户在网络中的位置经常变化。

  ③ Jini以自发的方式实现实体间的互联:任何实体之间可以相互发现和加入Jini网络来组成一个Jini联盟。

  ④ Jini消除了硬件和软件之间的差别:Jini把硬件和软件都抽象为服务,是一种真正的基于服务的体系结构。

  ⑤ Jini是一种分布式计算框架,使得分布式编程变得容易:Jini将Java应用环境由单独的Java虚拟机扩展到一个Java虚拟机网络;Java虚拟机屏蔽了不同机器平台和操作系统的异构性,降低了分布式编程的难度。

1.3 利用Jini开发分布式嵌入式系统

  近些年来随着计算机网络技术的不断发展,分布式系统已经得到了越来越广泛的研究和应用,分布式计算成为实现高性能和高可靠性计算的一种新的计算模型[5]。在嵌入式应用领域中采用分布式体系结构,一方面可以实现嵌入式环境中的分布式计算(例如一个系统本身可能是由分布在不同位置的多个嵌入式系统相互连接构成的,如电梯、汽车等);另一方面可以在可靠性要求较高的嵌入式应用中实现容错计算。

  Jini可以把分布式嵌入式系统变成动态的、灵活的和易管理的系统。Jini的自形成特性提供了一种自动相互发现和加入Jini网络来组成服务联盟的能力,可以使各种嵌入式设备以一种简捷的方式实现集成和互操作。Jini的动态性使得每个嵌入式设备可以灵活地加入和离开Jini服务联盟。这样,当一些嵌入式设备(如移动设备、PDA等)在需要使用服务时,可以建立暂时性的连接加入Jini联盟;服务完成时,离开。在不需要人为参与管理的情况下,整个系统仍具有良好的可伸缩性。

  另外,Jini是基于Java的。Java虚拟机屏蔽了不同机器平台和操作系统的异构性,简化了嵌入式系统的编程;而且Jini将Java的应用环境由单独的Java虚拟机扩展到一个Java虚拟机网络,为实现分布式计算提供了一个良好的计算平台。它提高了分布式系统编程的抽象级别,使得用户只需在高层的对象接口上进行编程,而不必处理底层的通信协议,简化了分布式系统的开发。

  因此,Jini为开发分布式嵌入式系统提供了一种新的解决方案。但是,要把Jini应用到嵌入式领域中也存在一些需要解决的问题,下面将进行说明。

2 嵌入式系统接入Jini网络的方法

  Jini并不是专门为开发嵌入式应用而设计的。由上面的分析可知,一个支持Jini的设备必须具备一定的处理能力、内存、网络功能和Java功能;而通常嵌入式系统对资源是严格限制的,完全支持Jini的嵌入式设备实际上并不多。另外,一些分布式嵌入式应用中底层的通信协议也不支持Jini。

  如何使嵌入式系统能够加入到Jini网络,成为在分布式嵌入式应用领域中应用Jini技术的难点。结合现有的技术,目前主要有三种解决方法:一种是提高嵌入式设备的资源,如采用32位的处理器、2MB以上的存储空间和支持网络连接,这样的嵌入式系统可以完全支持Jini;另外一种方法是采用Jini代理体系结构,不要求设备自身支持Java和Jini技术;第三种方法是将Jini进行移植。

2.1 J2ME与Jini技术相结合

   继Java技术在桌面系统和后端服务器领域取得巨大成功后,为了将Java的应用扩展到消费类电子设备和嵌入式设备,Sun推出了Java 2 平台MICro Edition(J2ME)。它包括两个基本的配置集:连接设备配置集(CDC ,Connected Device Configuration)和连接有限设备配置集(CLDC ,Connected Limited Device Configuration)。CDC面向的是具有更强计算能力的嵌入式设备;CLDC面向的是资源有限的消费类电子设备。对应于CDC和CLDC两个不同的配置集,可以将J2ME设备分为两类:低端信息设备和高端信息设备。J2ME设备分类如表1所列。

表1 J2ME设备分类表

  低端信息设备 高端信息设备 典型设备 寻呼机、蜂窝式电话、移动式收款机终端 电视机顶盒、汽车导航系统、Web电话、网络路由器 处理器/位 16/32 32 存储特性/B 256K~512K 2M~16M 网络连接特性 带宽较窄,且不一定是基于TCP/TP协议的 通常具有持续的TCP/IP连接

  这两种不同设备要求的J2ME的运行环境也不同。低端信息设备比较适合使用CLDC中定义的KVM,这是一款专用的Java虚拟机,是以小型的资源有限的消费类设备为目标平台的;而高端信息设备适合使用CDC中定义的CVM,它与常规的JVM是完全兼容的。

[1] [2]  下一页


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

《Jini在分布式嵌入式系统中的应用》相关文章>>>