一種基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng),包括:底層硬件層,操作系統(tǒng)以及驅(qū)動層,應(yīng)用程序接口API層,java平臺層,應(yīng)用程序?qū)樱坏讓佑布影ㄎ锢礞溄幽K,操作系統(tǒng)層包括驅(qū)動適配模塊、傳輸模塊,應(yīng)用程序借口層包括服務(wù)模塊、模板模塊,而將原來的應(yīng)用模塊拆分為2層;Java平臺層可由3個具體小模塊組成,分別為java虛擬機,窗口圖形系統(tǒng),java本地接口。實施本發(fā)明實施例,本發(fā)明所述的基于Java虛擬機的按層次劃分的數(shù)字家庭中間件系統(tǒng),能使現(xiàn)有已經(jīng)開發(fā)出的應(yīng)用能夠直接應(yīng)用于數(shù)字家庭中間件系統(tǒng)的服務(wù)需求,減少應(yīng)用的重復性開發(fā),減少人力開銷。合理的層次劃分使中間件系統(tǒng)的可擴展性強,能滿足不同層次不同需求的人群的需要。
【專利說明】一種基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字醫(yī)療【技術(shù)領(lǐng)域】,具體涉及一種基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)字家庭網(wǎng)絡(luò)在一些發(fā)達國家或地區(qū)發(fā)展較快,如美歐和日本這些地區(qū)的一些著名的大公司首先進入該市場,他們不僅研制和開發(fā)了數(shù)字家庭網(wǎng)絡(luò)的平臺和制定了相關(guān)的標準,而且推出了一系列的數(shù)字家庭網(wǎng)絡(luò)的產(chǎn)品,如接口卡,家庭網(wǎng)關(guān),小型服務(wù)器,各種物理量的傳感器。各種電器/設(shè)備的控制器和驅(qū)動器!信息的收發(fā)器等"豐富的網(wǎng)絡(luò)產(chǎn)品,不僅支持了數(shù)字家庭網(wǎng)絡(luò)系統(tǒng),而且進一步推動了數(shù)字家庭網(wǎng)絡(luò)技術(shù)的發(fā)展,開拓了數(shù)字家庭網(wǎng)絡(luò)系統(tǒng)的大市場"目前國內(nèi)也出現(xiàn)了一些致力于家庭網(wǎng)絡(luò)技術(shù)研究和推廣的企業(yè),但國內(nèi)家庭網(wǎng)絡(luò)的發(fā)展較慢。到目前為止,在家庭里擁有多臺PC的情況還不多見。隨著嵌入式系統(tǒng)的快速發(fā)展,嵌入式產(chǎn)品已經(jīng)在數(shù)字家庭領(lǐng)域得到了應(yīng)用。一方面,隨著嵌入式Internet時代的到來,嵌入式設(shè)備與網(wǎng)絡(luò)相結(jié)合,實時自動的互換信息已經(jīng)慢慢的蓬勃發(fā)展。但由于各種原因,應(yīng)用系統(tǒng)之間甚至同一個應(yīng)用系統(tǒng)之內(nèi)都存在著很大的異質(zhì)性。那么如何在由眾多不同的嵌入式系統(tǒng)(不同的體系結(jié)構(gòu)、不同的微處理器、不同的支撐軟件、不同的接口協(xié)議)所構(gòu)成的分布異構(gòu)的動態(tài)網(wǎng)絡(luò)環(huán)境下,解決基于多嵌入式系統(tǒng)的跨平臺的應(yīng)用互連和互操作問題呢?亦即如何構(gòu)建一個標準的通用性支撐軟件平臺,可以滿足若干個相互異構(gòu)的嵌入式系統(tǒng)與嵌入式系統(tǒng)、嵌入式系統(tǒng)與PC機之間的互通互連和互操作的特殊要求呢?目前看來,中間件(middleware)技術(shù)向數(shù)字家庭嵌入式系統(tǒng)作遷移,才能擔此重任。另一方面,隨著嵌入式系統(tǒng)在各行業(yè)中的深入應(yīng)用,嵌入式軟件的開發(fā)越來越受矚目。如何高效率地開發(fā)數(shù)字家庭系統(tǒng)中的應(yīng)用軟件,是一個關(guān)鍵問題。將中間件技術(shù)引入到嵌入式應(yīng)用軟件的開發(fā)中,能最大限度地支持上層應(yīng)用軟件的開發(fā)。因為中間件技術(shù)可以屏蔽各類硬件平臺和操作系統(tǒng)的結(jié)構(gòu)差異和技術(shù)細節(jié),向應(yīng)用程序開發(fā)人員提供簡單統(tǒng)一的接口,使他們把精力更多地集中在應(yīng)用系統(tǒng)的設(shè)計開發(fā)上,能加快開發(fā)進度,降低開發(fā)成本,提高產(chǎn)品競爭力??傊皇乔度胧较到y(tǒng)要求互連并接入Internet,實現(xiàn)分布式的普適計算,二是嵌入式應(yīng)用軟件的開發(fā)追求高效率、低成本、高質(zhì)量、可擴展、可維護,所以有關(guān)數(shù)字家庭的嵌入式中間件技術(shù)應(yīng)運而生。
[0003]現(xiàn)有的數(shù)字家庭中間件系統(tǒng)有以下模塊組成,物理連接模塊、驅(qū)動適配模塊、傳輸模塊、服務(wù)模塊、模板模塊、應(yīng)用模塊,物理連接模塊通過驅(qū)動適配模塊與傳輸模塊連接,傳輸模塊通過服務(wù)模塊與模板模塊連接,模板模塊連接應(yīng)用模塊。數(shù)字家庭中間件系統(tǒng)將信息服務(wù)和設(shè)備功能服務(wù)在數(shù)字家庭中無縫結(jié)合,從服務(wù)層面上解決了家庭設(shè)備和信息服務(wù)的標準化與融合問題。
[0004]以上的技術(shù)雖然能夠很好的將信息服務(wù)和設(shè)備功能服務(wù)結(jié)合在一起,也給出了較詳細的模塊劃分,但沒有考慮到不同的用戶有著不同的需求,首先并不是所有的模塊都一定要用上。其次在不同的平臺上運行該中間件系統(tǒng),需要對以上幾乎所有的模塊做出修改,這樣劃分出通用性不強,這也決定了未來的數(shù)字家庭中間件系統(tǒng)應(yīng)該能適用于各種平臺,并且能夠根據(jù)需求量體裁衣,應(yīng)當對可能修改的模塊做一些整合。
【發(fā)明內(nèi)容】
[0005]本發(fā)明就是要解決目前的數(shù)字家庭中間件系統(tǒng)模塊劃分以及通用性問題。為解決這一問題,設(shè)計一種基于java虛擬機,按層次劃分為主的數(shù)字家庭中間件系統(tǒng)。劃分模塊,使面向上層應(yīng)用的模塊與底層硬件的模塊的分層更加的合理,既便于根據(jù)需求合理增減功能模塊,提高資源的利用率,同時利用java虛擬機的優(yōu)勢盡量屏蔽底層的差異給上層提供一個一致合理的應(yīng)用程序開發(fā)接口。Java平臺可以發(fā)揮它內(nèi)在的優(yōu)勢,簡化大而復雜的軟件系統(tǒng)開發(fā)的難度。
[0006]本發(fā)明實施例提供了一種基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng),包括:底層硬件層,操作系統(tǒng)以及驅(qū)動層,應(yīng)用程序接口 API層,java平臺層,應(yīng)用程序?qū)樱坏讓佑布影ㄎ锢礞溄幽K,操作系統(tǒng)層包括驅(qū)動適配模塊、傳輸模塊,應(yīng)用程序借口層包括服務(wù)模塊、模板模塊,而將原來的應(yīng)用模塊拆分為2層Java平臺層可由3個具體小模塊組成,分別為java虛擬機,窗口圖形系統(tǒng),java本地接口。
[0007]操作系統(tǒng)和驅(qū)動層則負責協(xié)調(diào)不同的底層硬件,向上提供相對應(yīng)的接口,這樣可以對操作系統(tǒng)的內(nèi)核進行動態(tài)的裁剪,使資源的使用效率到達最高;
[0008]應(yīng)用程序接口 API層則負責銜接操作系統(tǒng)層,屏蔽操作系統(tǒng)復雜的功能操作,向上一層提供統(tǒng)一而又簡潔的API函數(shù)應(yīng)用接口 ;在應(yīng)用層增加Java平臺,借用java虛擬機與平臺無關(guān)性的優(yōu)勢屏蔽底層的差異,可以給上層提供一個一致合理的應(yīng)用程序開發(fā)接口,充分發(fā)揮它內(nèi)在的優(yōu)勢,更大程度的簡化大而復雜的軟件系統(tǒng)開發(fā)的難度。
[0009]本發(fā)明具有如下有益效果,本發(fā)明所述的基于Java虛擬機的按層次劃分的數(shù)字家庭中間件系統(tǒng),能使現(xiàn)有已經(jīng)開發(fā)出的應(yīng)用能夠直接應(yīng)用于數(shù)字家庭中間件系統(tǒng)的服務(wù)需求,減少應(yīng)用的重復性開發(fā),減少人力開銷。合理的層次劃分使中間件系統(tǒng)的可擴展性強,能滿足不同層次不同需求的人群的需要。
【專利附圖】
【附圖說明】
[0010]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0011]圖1是本發(fā)明實施例中的一種基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng)。
【具體實施方式】
[0012]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0013]將模塊重新劃分,可以分為5層,底層硬件層,操作系統(tǒng)以及驅(qū)動層,應(yīng)用程序接口 API層,java平臺層,應(yīng)用程序?qū)印>唧w劃分方法:底層硬件層包括物理鏈接模塊,操作系統(tǒng)層包括驅(qū)動適配模塊、傳輸模塊,應(yīng)用程序借口層包括服務(wù)模塊、模板模塊,而將原來的應(yīng)用模塊拆分為2層。Java平臺層可由3個具體小模塊組成,分別為java虛擬機,窗口圖形系統(tǒng),java本地接口。具體結(jié)構(gòu)劃分圖如I中所示。
[0014]層次劃分使數(shù)字家庭中間件的系統(tǒng)結(jié)構(gòu)更加清晰,通用性更強。面對系統(tǒng)平臺和需求的多樣性,一般只需對其中的一層作修改即可。模塊的合理劃分給數(shù)字家庭中間件系統(tǒng)的設(shè)計,增加了更多的靈活性。底層硬件多種多樣,除了處理器和內(nèi)存外,還包括各種各樣的外部設(shè)備,因此還需要屏蔽下層各種設(shè)備的差別,給應(yīng)用開發(fā)提供一個統(tǒng)一的平臺。操作系統(tǒng)和驅(qū)動層則負責協(xié)調(diào)不同的底層硬件,向上提供相對應(yīng)的接口,這樣可以對操作系統(tǒng)的內(nèi)核進行動態(tài)的裁剪,使資源的使用效率到達最高。應(yīng)用程序接口 API層則負責銜接操作系統(tǒng)層,屏蔽操作系統(tǒng)復雜的功能操作,向上一層提供統(tǒng)一而又簡潔的API函數(shù)應(yīng)用接口。在應(yīng)用層增加Java平臺,借用java虛擬機與平臺無關(guān)性的優(yōu)勢屏蔽底層的差異,可以給上層提供一個一致合理的應(yīng)用程序開發(fā)接口,充分發(fā)揮它內(nèi)在的優(yōu)勢,更大程度的簡化大而復雜的軟件系統(tǒng)開發(fā)的難度。
[0015](I) java虛擬機的平臺無關(guān)性
[0016]Java虛擬機(JVM) —種用于計算機設(shè)備的規(guī)范,可用不同的方式(軟件或硬件)加以實現(xiàn)。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。Java虛擬機包括一套字節(jié)碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域。Java虛擬機(JVM)是可運行Java代碼的假想計算機。只要根據(jù)JVM規(guī)格描述將解釋器移植到特定的計算機上,就能保證經(jīng)過編譯的任何Java代碼能夠在該系統(tǒng)上運行。這些特性決定了 java虛擬機的平臺無關(guān)性。
[0017](2) java平臺系統(tǒng)的效率優(yōu)化以及移植的實現(xiàn)
[0018]一般的數(shù)字家庭中間件系統(tǒng)沒有針對嵌入式系統(tǒng)進行有效優(yōu)化,導致Java的運行效率不高,造成大量的Java應(yīng)用無法移植到嵌入式系統(tǒng),其次基于嵌入式系統(tǒng)的Java計算模式不完善,使得嵌入式系統(tǒng)Java計算形式單一,制約了 Java在嵌入式系統(tǒng)的應(yīng)用。
[0019]Java TV API是基于Personal Java應(yīng)用環(huán)境的應(yīng)用程序接口,是Java平臺面向MHP終端的擴展,它提供了對MHP終端特有功能的控制,包括對業(yè)務(wù)信息數(shù)據(jù)庫的訪問、業(yè)務(wù)選擇、TV上的媒體播放器控制等。Java TVAPI是針對終端媒體及接收功能的,不包括其他電子設(shè)備共有的API。由于Java TVAPI是獨立于硬件和物理線纜傳輸協(xié)議的更抽象的高層協(xié)議,因此也可以在一些現(xiàn)存的標準中使用。從整體上講,Java體系由于語言特點、運行系統(tǒng)、計算模式、平臺版本上的獨到之處,使之成為應(yīng)用程序開發(fā)的重要的、優(yōu)秀的工具。
[0020]I)業(yè)務(wù)和業(yè)務(wù)選擇
[0021]業(yè)務(wù)是指呈現(xiàn)在終端上的各種元素,是可選擇的。業(yè)務(wù)信息(ServiceInformation,SI)表達的是關(guān)于視音頻數(shù)據(jù)流的內(nèi)容的信息?,F(xiàn)在使用的SI具有多種不同的標準。在MHP終端的Java TV API中,由于底層的透明性,各種格式的SI可以通用于所有的應(yīng)用。SI對象模型為應(yīng)用提供該庫的多視圖。通過制定一個特定的視圖,應(yīng)用可以僅涉及到SI庫的一部分。SI庫的視圖包括工具(Utility)、導航(Navigation)、指南(Guide)和傳輸(Transport)。工具視圖提供對一般對象和輔助對象(事件和異常等)實例化的手段。導航視圖提供的對象用于在業(yè)務(wù)中導航。指南視圖表達與EPG相關(guān)的對象。[0022]業(yè)務(wù)選擇API支持應(yīng)用以簡單高級的方式控制業(yè)務(wù)的呈現(xiàn),而不需了解業(yè)務(wù)的內(nèi)部細節(jié)。它將多個繁瑣的操作封裝在簡單的方法調(diào)用中。業(yè)務(wù)呈現(xiàn)環(huán)境用Service Context來表達,其中的選擇方法可以用來呈現(xiàn)一個業(yè)務(wù)。該選擇是異步的,操作的完成通過事件來通知,失敗時報異常。終端可以對支持的Service Context類實例數(shù)目進行限制。
[0023]先分配調(diào)整棧指針WPTR為前3個參數(shù)和局部變量分配保存的臨時空間,并保存。接下來,就需要構(gòu)造一個ST20的調(diào)用棧幀,使得它能夠調(diào)用本地方法,并且順利返回。這需要根據(jù)Java函數(shù)的屬性得知其Java參數(shù)的個數(shù)大小,將Java參數(shù)依次彈出Java棧,同時按照ST20C的傳參格式壓到棧中,同時保證前3個參數(shù)是存放在3個寄存器中,完成參數(shù)傳遞后,由本地函數(shù)的指針地址調(diào)用該函數(shù)。如果Java方法有返回值,就將存放在Areg中的返回值存入Java棧頂,這樣就完成是Java本地調(diào)用。最后為了使本函數(shù)正常返回,還需要調(diào)整ST20的棧指針到調(diào)用前的位置。
[0024]2)文件系統(tǒng)操作的修改
[0025]Java系統(tǒng)包含許多類,其中一些基本的核心類的字節(jié)碼文件都已經(jīng)靜態(tài)編譯連接進執(zhí)行代碼中,但是仍然還有許多類需要在運行時,根據(jù)類名由不同的類加載器(ClassLoader)動態(tài)調(diào)入字節(jié)碼,然后分析加載類的各個成員,之后才可以訪問,引用類。
[0026]①本地方法的調(diào)用移植
[0027]Java規(guī)范中規(guī)定了 Java虛擬機的5大特性,指令系統(tǒng),寄存器,棧,方法儲存區(qū)等。但是僅僅有這幾部分,一個Java內(nèi)核是只能做最基本的運算,程序跳轉(zhuǎn),調(diào)用等功能,它根本不能做最基本的字符打印輸出,文件訪問等與硬件相關(guān)的功能,也不能完成復雜圖形繪制,電視節(jié)目解析播放等多媒體功能,也不能做任何與平臺硬件有關(guān)的任務(wù)。這一方面也是Java規(guī)范所希望的“一次編譯,可到處運行”的可移植性。
[0028]為了能在保持Java虛擬機的獨立性同時擴充虛擬機的功能,Java規(guī)范引入了Java本地接口 JNI的技術(shù)。在Java語言中,一個類class可以包含一種特殊的函數(shù)方法method,它是受native關(guān)鍵字修飾的。這一類函數(shù)是沒有具體的實現(xiàn)體的。同時,它與虛函數(shù)也不同,調(diào)用虛函數(shù)在編譯和執(zhí)行時,會靜態(tài)、動態(tài)綁定調(diào)用一個子類的同名函數(shù),虛函數(shù)的執(zhí)行的代碼最終還是某個之類的Java代碼。而native method是與之不同的一類方法,編譯器不需要對它做任何函數(shù)綁定,它只需要將這個函數(shù)的屬性標明為native,讓解釋器動態(tài)執(zhí)行的時候去選擇一個對應(yīng)的本地方法來執(zhí)行。
[0029]這個機制使得Java能夠訪問一些硬件相關(guān)的功能,而且這使得同一個Java程序可以在不同的硬件平臺上執(zhí)行,盡管調(diào)用的是同一個native method,但是解釋器在執(zhí)行的時候,會根據(jù)自己的硬件特性,選擇執(zhí)行具體的本地功能。這也是為什么Java程序編譯后的字節(jié)碼流,可以在不同的平臺上勿須重編譯就可以運行,而且得到基本相同的結(jié)果。這些都依賴與不同平臺上Java本地接口的實現(xiàn)的配合。因此,Java本地接口也是Java虛擬機移植過程中的重要的一個環(huán)節(jié)。
[0030]可以看出為了訪問硬件相關(guān)的功能,就必須實現(xiàn)對應(yīng)的native方法來完成調(diào)用。在解釋器的實現(xiàn)中,每當發(fā)現(xiàn)調(diào)用一個類的方法是native類型時,就會通過一個樞紐去查找該虛擬機解釋器對應(yīng)的本地實現(xiàn)的方法。去取出函數(shù)的參數(shù),用本地程序調(diào)用它,然后將返回值填入指定的位置,使得Java程序能夠順序獲得本地方法的執(zhí)行結(jié)果。當解釋器準備執(zhí)行Java調(diào)用函數(shù)指令的時候時,如果檢查發(fā)現(xiàn)所調(diào)用的函數(shù)是native類型,就會由該函數(shù)的字符串標識查找對應(yīng)的本地函數(shù)(通常是C語言實現(xiàn)的)作為參數(shù),然后調(diào)用CVMjniInvokeNative O樞紐代理函數(shù),由它去調(diào)用真正的本地函數(shù)。之所以要通過這個代理函數(shù)調(diào)用真實的本地函數(shù)是因為Java的參數(shù)傳遞規(guī)則與ST20中C語言的參數(shù)傳遞規(guī)則不一樣。Java函數(shù)調(diào)用會把所有的參數(shù)壓入棧中,而且返回后,其返回值正好在棧頂,這與ST20C語言的規(guī)則不一樣,所以在C語言中要先從Java棧頂中彈出Java的參數(shù),然后調(diào)用本地函數(shù),再把返回值壓入Java棧頂。整體移植思路是:整個編譯過程涉及到2個交叉編譯環(huán)境。先是cygwin下為虛擬機編譯java庫類,其中部分還會轉(zhuǎn)成c文件。再編譯虛擬機代碼。修改環(huán)境變量中編譯器的路徑和選用編譯器的設(shè)定。
[0031]對于虛擬機引擎中的64位的常量,需要定義相對應(yīng)的(全局)結(jié)構(gòu)變量表示。傳常數(shù)參數(shù)與返回常數(shù)值的時候,均需要做相應(yīng)的修改。
[0032]②多線程的移植
[0033]Java虛擬機中,也有多線程的概念,有對應(yīng)的Thread類。每個線程類的實例實現(xiàn)Runnable接口,也就是線程的執(zhí)行體;同時每個線程實例也有基本的狀態(tài),需要有對應(yīng)的方法函數(shù)來實現(xiàn)切換。Thread類中的本地接口 yield O , sleep O等需要由本地函數(shù)實現(xiàn)。對于線程的初始化,我們可以用其他的函數(shù)的實現(xiàn)比較類似的功能。
[0034]③數(shù)據(jù)類型的移植
[0035]Java 指令中訪問的幾種數(shù)據(jù)類型有 byte, char, integer, long, float, double 等。在存儲的時候,大部分都是占用的獨立的一個32位的字,但是long,double這2種類型是64位雙字。由于32位的嵌入式cpu,它不支持64位的運算,而且提供的編譯器,并沒有像GCC那樣提供了內(nèi)建的64位數(shù)據(jù)類型和運算支持。對于long,double類型的算術(shù)、邏輯運算,就無法直接用現(xiàn)有的數(shù)據(jù)類型替換,因此對于64位整數(shù)需要重新定義其類型,并增加函數(shù)支持相應(yīng)的運算。需要移植實現(xiàn)一個文件系統(tǒng)。經(jīng)過分析Java虛擬機所需的文件系統(tǒng)接口,然后,利用開發(fā)包和調(diào)試器所提供的一套訪問宿主機器文件系統(tǒng)的接口??梢詤⒄涨度胧讲僮飨到y(tǒng)所提供的標準文件訪問接口,來實現(xiàn)這些接口。需要說明的是,這個接口訪問的文件,并不是存儲在平臺。
[0036]④實時時間的支持
[0037]在實時嵌入式系統(tǒng)中,Java解釋引擎對時間的處理非常重要,直接影響到其任務(wù)調(diào)度和執(zhí)行效率。Java虛擬機經(jīng)常要調(diào)用CVMtimeMillis O來獲取64位的時刻值。因此需要編寫并優(yōu)化。優(yōu)化方案是通過代理,訪問Windows宿主開發(fā)平臺。在試驗中,可以勝任文件系統(tǒng)的工作,但是實際應(yīng)用中,應(yīng)當在Flash上開發(fā)一個非易失性的存儲系統(tǒng)。
[0038]⑤內(nèi)存管理、信號量、互斥量的移植
[0039]在Java的實現(xiàn)代碼中,有許多需要動態(tài)分配、釋放內(nèi)存的地方。代碼中調(diào)用的是標準C函數(shù)malloc,free函數(shù)。在一般系統(tǒng)中,也有相似的動態(tài)內(nèi)存管理函數(shù)。在配置文件中,新分配獨立的IM字節(jié)的內(nèi)存區(qū)域,給Java專用。在sections, c中定義全局變量,倉1J建獨立的Java內(nèi)存分區(qū),將原來代碼中的內(nèi)存分配調(diào)用的地方修改。
[0040]本發(fā)明所述的基于Java虛擬機的按層次劃分的數(shù)字家庭中間件系統(tǒng),能使現(xiàn)有已經(jīng)開發(fā)出的應(yīng)用能夠直接應(yīng)用于數(shù)字家庭中間件系統(tǒng)的服務(wù)需求,減少應(yīng)用的重復性開發(fā),減少人力開銷。合理的層次劃分使中間件系統(tǒng)的可擴展性強,能滿足不同層次不同需求的人群的需要。[0041]本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器(ROM,Read Only Memory)、隨機存取存儲器(RAM,RandomAccess Memory)、磁盤或光盤等。
[0042]以上對本發(fā)明實施例所提供的一種基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng)進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng),其特征在于,包括:底層硬件層,操作系統(tǒng)以及驅(qū)動層,應(yīng)用程序接口 API層,java平臺層,應(yīng)用程序?qū)?;底層硬件層包括物理鏈接模塊,操作系統(tǒng)層包括驅(qū)動適配模塊、傳輸模塊,應(yīng)用程序借口層包括服務(wù)模塊、模板模塊,而將原來的應(yīng)用模塊拆分為2層Java平臺層可由3個具體小模塊組成,分別為java虛擬機,窗口圖形系統(tǒng),java本地接口。
2.如權(quán)利要求1所述的基于數(shù)字醫(yī)療的數(shù)字家庭中間件系統(tǒng),其特征在于, 操作系統(tǒng)和驅(qū)動層則負責協(xié)調(diào)不同的底層硬件,向上提供相對應(yīng)的接口,這樣可以對操作系統(tǒng)的內(nèi)核進行動態(tài)的裁剪,使資源的使用效率到達最高; 應(yīng)用程序接口 API層則負責銜接操作系統(tǒng)層,屏蔽操作系統(tǒng)復雜的功能操作,向上一層提供統(tǒng)一而又簡潔的API函數(shù)應(yīng)用接口 ;在應(yīng)用層增加Java平臺,借用java虛擬機與平臺無關(guān)性的優(yōu)勢屏蔽底層的差異,可以給上層提供一個一致合理的應(yīng)用程序開發(fā)接口,充分發(fā)揮它內(nèi)在的優(yōu)勢,更大程度的簡化大而復雜的軟件系統(tǒng)開發(fā)的難度。
【文檔編號】G06F9/54GK103631645SQ201310610721
【公開日】2014年3月12日 申請日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
【發(fā)明者】蘇航, 呂志譜, 劉海亮, 楊艾琳, 羅笑南 申請人:中山大學深圳研究院