<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Jini互聯技術實現分布式嵌入式系統的設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:孫曉明,尚利宏,金 ? 2020-09-11 17:37 ? 次閱讀

作者:孫曉明,尚利宏,金惠華

引 言

嵌入式系統是指以應用為中心、以計算機技術為基礎、軟件硬件可裁剪,適用于對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。隨著計算機技術和相關電子技術的發展,嵌入式系統的應用已經深入到社會中的各個領域,如家用電器、移動通信、航空、航天、醫療、工業控制和軍事等。在嵌入式系統的某些應用中,通常采用分布式體系結構,不同的嵌入式設備之間以某種方式相互連接、彼此協作,這就要求整個系統具有很好的靈活性和可靠性。

Jini是一種全新的構建分布式系統的技術,具有動態的、自形成的和自管理的特性,它是一種真正的基于服務的分布式體系結構。另外,基于Java的 Jini技術提高了分布式系統編程的抽象級別,簡化了分布式系統的開發。在構建分布式嵌入式系統的過程中利用Jini互聯技術,不但可以降低系統開發難度,實現嵌入式環境中基于服務級的互操作,而且還可提高整個系統的靈活性和可靠性。因此Jini技術推出后,人們很快就開始關注如何將Jini應用于分布式嵌入式系統的開發。

1 Jini技術概述

1.1 Jini的體系結構

Jini是1999年1月Sun公司發布的一種基于Java的全新的用于構建分布式系統的技術,利用Jini可以使得軟件和硬件自發地結合起來,形成一個Jini服務聯盟。

一個Jini系統由下列組件組成:

◇基礎設施組件——提供一個在分布式系統中建立起服務聯盟的框架;

◇編程模型組件——支持建立可靠的分布式服務;

◇服務組件——可以成為Jini服務聯盟中的一部分并且向聯盟中的其它成員提供服務。

盡管Jini系統由三部分組件組成,但是它們之間的界限是模糊的,組件之間緊密相連、彼此協作。Jini是建立在分布式系統、經常動態變化這一原則之上的。它的體系結構如圖1所示。

基于Jini互聯技術實現分布式嵌入式系統的設計

服務是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設備分類表

這兩種不同設備要求的J2ME的運行環境也不同。低端信息設備比較適合使用CLDC中定義的KVM,這是一款專用的Java虛擬機,是以小型的資源有限的消費類設備為目標平臺的;而高端信息設備適合使用CDC中定義的CVM,它與常規的JVM是完全兼容的。

J2ME CDC可以使嵌入式設備具備Java 2的功能?;贘2ME CDC的RMI可選包完全滿足實現Jini的技術需求,因此可以直接加入Jini網絡。

對于那些J2ME CLDC的設備或是根本不支持Java和Jini的嵌入式設備來說,Jini代理體系結構(Jini Surrogate Architecture)使其接入Jini網絡成為可能。

2.2 Jini代理體系結構

Jini代理體系結構是由Sun公司的工程師Jim Waldo提出的,現在已成為www.jini.org站點中一個開放源代碼的項目。開發Jini代理的主要目標是使那些資源有限的設備能夠完全參與到Jini網絡中。

Jini代理體系結構由下列組件構成:可宿主機(host-capable machine)、代理宿主(Surrogate Host)、宿主資源(Host Resources)和相互連接(Interconnect)。組件之間的關系如圖2所示[6]。

設備是指那些不能夠加入Jini網絡的任何硬件設備或者軟件;可宿主機具備執行Java語言編寫的,用于代表設備的代碼,并且能夠為執行這些Java代碼提供所需的資源;代理宿主是駐留在可宿主機上,為執行代理體系結構的組件提供Java運行環境的框架,除了提供計算資源、運行環境和生命周期管理外,它還提供宿主的其它資源來幫助體系結構中的組件。

可宿主機在Jini網絡和設備兩者之間建立連接,在Jini網絡中充當這個設備的代言人。設備和代理宿主之間可以用有線或無線的方式相互連接。連接也可以采用任何的協議,有線連接如TCP/IP、RS-232、USB和IEEE1394等;無線連接可以采用藍牙協議。

這樣,Jini代理體系結構通過降低對設備資源的要求,實現了小型設備完全參與到Jini網絡中的目標,使得那些資源有限的小型設備可以充分利用Jini 技術的優勢。代理通過一個運行Java 2虛擬機支持Jini技術的宿主代理系統,使得本來需要運行在用戶中的服務代理對象可以在代理的環境中運行。任何小型設備與代理宿主通過相互連接進行對話,從而成為一個完全的支持Jini的用戶或服務,且仍保持Jini即插即用的特性。

2.3 移植Jini

Jini體系結構假設網絡底層使用的通信協議是TCP和UDP,而一些分布式嵌入式系統中通常采用的是實時、可靠的數據傳輸協議,如CAN、TTP等。為了在這樣的應用領域中使用Jini技術,可以考慮將Jini進行移植。RoSES(Robust Self-Configuring Embedded Systems)[3]是卡耐基梅隆大學通用發動機協作實驗室的一個研究項目。目的是尋找一種建立靈活的、健壯的和可維護的分布式嵌入式系統的通用方法,在研究過程中嘗試把Jini移植到CAN上。移植Jini的方法也可以解決嵌入式系統接入Jini網絡的問題,但其中的工作量相對較大。

3 應用實例

Jini在開發分布式嵌入式系統方面已經做了很多的工作[1~3]。下面介紹一下Jini在EIB(European Installation Bus)中的應用[1,2]。

現場總線分為多種,不同廠商的現場總線產品是不兼容的。為了解決這一問題,EIBA(European Installation Bus Association)提出了EIB。EIB代表了最新的現場總線技術,主要應用領域是家庭和建筑物的自動化。EIB網絡的拓撲結構可以是線形、星形和樹形。

EIB網絡中每個節點是一個EIB設備。一個EIB系統中最大可以安裝60 000個設備。每個EIB設備中有一個嵌入式微控制器用來運行通信協議。它從總線上接收數據后傳送給應用程序,或是把應用程序數據傳給其它設備。每個 EIB設備通過LC(Line Connector,具有路由功能)連接到主線(Main Line)上,BC(Bus Coupling)向特定應用的硬件(如傳感器和作動器)提供了定義良好的接口。

EIB中的設備(例如傳感器)都是資源非常有限的設備,很難直接支持Jini,而且EIB系統使用的底層通信協議也不支持Jini。因此在實現中,采用Jini代理體系結構來使EIB設備接入Jini網絡。系統結構如圖3所示[2]。

EIB代理(EIB Agent)是EIB設備在Jini網絡中映射的服務代理。它向服務的使用者(Service User)提供EIB設備的功能;EIB服務器(EIB Server)由Jini數據庫(Jini Database)和EIB控制器(EIB Controller)兩個模塊組成。它負責管理代理宿主機與現場總線之間的連接,其中Jini數據庫是一個存放EIB設備和相應的EIB代理之間的映射關系的數據庫。EIB代理和EIB服務器運行在代理宿主機上。

這樣,在EIB系統中使用Jini技術會帶來如下好處:

◇EIB系統中,每個設備提供的功能都可以映射成Jini服務,這樣,不僅可以被其它的現場總線使用,而且還可以被支持Jini的任何設備(如PDA)來訪問;

◇Jini簡化了網絡編程,并且Java提高了系統的安全性;

◇EIB網絡可以連接到Internet,這樣系統變成了開放的,提高了EIB設備的可訪問性;

◇Jini使EIB系統中的設備可以與家用消費電器和自動化設備通信,增強EIB設備的功能;

◇Jini提供了一種獨立于廠商的服務平臺,使得不同廠商的現場總線產品相互兼容。

應當指出的是,Jini并不是完全適用于實時性要求高的嵌入式應用。RoSES的研究項目中,將Jini移植到了CAN上;但實驗結果表明,Jini的實時性能并不令人滿意。

4 總 結

在構建分布式嵌入式系統的過程中利用Jini技術,不但可以降低系統的開發難度、實現嵌入式環境中基于服務級的互操作,而且可使系統具有很好的靈活性和可靠性。同時,在分布式嵌入式領域中使用Jini技術也存在一些需要解決的問題,包括如何使得嵌入式系統支持Jini以及Jini的實時性等。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5006

    文章

    18443

    瀏覽量

    292163
  • 計算機
    +關注

    關注

    19

    文章

    6819

    瀏覽量

    85472
  • JAVA
    +關注

    關注

    19

    文章

    2911

    瀏覽量

    103278
收藏 人收藏

    評論

    相關推薦

    分布式軟件系統

    分布式軟件系統分布式軟件系統(Distributed Software Systems)是支持分布式處理的軟件系統,是在由通信網絡
    發表于 07-22 14:53

    分布式控制系統

    分布式控制系統分布式控制系統 (distributed control systems,簡稱DCS),又稱為分散控制系統,分散型控制系統,集散控制系統.行業內業稱4C
    發表于 03-01 22:19

    分布式發電技術與微型電網

    幾種分布式發電簡介2.分布式發電與配電網互聯問題3.微型電網技術4.分布式發電(電源)技術應用的
    發表于 03-11 13:37

    分布式能源系統當微型電網技術應用

    以及異常、故障,對于區域電力系統AreaEPS的影響明顯,就必須通過AreaEPS與DR的互聯系統ICS聯網。   電網微型電網的分布式電源并網技術
    發表于 06-13 14:25

    嵌入式系統組成:

    )    D、HOPEN    E、JINI   3、嵌入式操作系統(RTOS)    A、VRTX    B、PSOS    C、VXWORK,WINCE,EPOC    D、LINUX    E
    發表于 08-12 14:40

    基于分布式調用鏈監控技術的全息排查功能

    分布式微服務場景下的鏈路診斷場景,用戶可快速的定位分布式環境下的調用問題診斷。國內外常見的這方面技術互聯網產品已有很多,其中:在開源領域有Zipkin, Skywalking, Pi
    發表于 08-07 17:02

    嵌入式分布模塊控制系統設計方案

    通信和DSP)微處理器與分布式存儲器一起作為實時系統來運作。用于數字信號處理(DSP)和控制應用的嵌入式模塊化系統在工業標準(工業計算機系統
    發表于 07-24 07:03

    如何設計分布式干擾系統?

    ”的電子戰系統,共同完成對敵信號的探測、定位、干擾任務。因此,嵌入式網關是分布式干擾系統研究的關鍵技術之一。目前國內對
    發表于 08-08 06:57

    分布式嵌入式系統軟件升級有什么困難?

    完成各種檢測控制任務,構成分布式嵌入式系統。汽車電子系統中的車載GPS、倒車雷達、發動機控制、儀表盤系統等,數控機床中的鍵盤顯示
    發表于 08-23 07:12

    分布式系統的優勢是什么?

    當討論分布式系統時,我們面臨許多以下這些形容詞所描述的 同類型: 分布式的、刪絡的、并行的、并發的和分散的。分布式處理是一個相對較新的領域,所以還沒有‘致的定義。與順序計算相比、并行的
    發表于 03-31 09:01

    分布式嵌入式系統的過程中利用Jini技術有什么優勢?

    在構建分布式嵌入式系統的過程中利用Jini技術,不但可以降低系統的開發難度、
    發表于 04-28 06:46

    分布式操作系統的相關資料分享

    文章目錄分布式操作系統嵌入式操作系統集群操作系統集群系統管理
    發表于 12-22 07:23

    常見的分布式供電技術有哪些?

      分布式供電技術是指將發電設備建設在用戶或供電系統端,將發電與負荷直接相連,通過局部供電的方式滿足用戶的電力需求。其主要特點是將傳統的集中式供電方式改為分散供電方式,不僅既有大型電
    發表于 04-10 16:28

    OpenHarmony 分布式硬件關鍵技術

    OpenHarmony技術峰會——生態與互聯分論壇 ? 正 文 內 容 OpenHarmony是一款面向未來萬物互聯場景的操作系統,其設計采用了分布
    發表于 08-24 17:25

    基于ZigBee的分布式井蓋監控系統

    隨著我國現代經濟發展水平的不斷提高,城市井蓋數目逐漸增加。由于較多井蓋被盜,致使路面形成陷阱,危害到過往車輛和行人安全。本文提出了一種基于 ZigBee無線網絡的智能安全監控系統,解決分布式布控困難
    發表于 09-18 08:46
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>