999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

NGB TVOS Java應(yīng)用框架層API的封裝模型分析

2015-10-12 08:05:44張定京陳德林
電視技術(shù) 2015年13期
關(guān)鍵詞:服務(wù)模型

張定京,王 穎,黎 政,白 偉,陳德林

(國家新聞出版廣電總局廣播科學(xué)研究院,北京 100866)

NGB TVOS Java應(yīng)用框架層API的封裝模型分析

張定京,王 穎,黎 政,白 偉,陳德林

(國家新聞出版廣電總局廣播科學(xué)研究院,北京 100866)

NGB TVOS是一款面向智能電視終端的核心基礎(chǔ)軟件平臺,內(nèi)嵌支撐數(shù)字電視業(yè)務(wù)的功能組件,其應(yīng)用框架層實(shí)現(xiàn)了NGB終端中間件標(biāo)準(zhǔn)定義的API,支持NGB-J和NGB-H應(yīng)用運(yùn)行。特別地在Java應(yīng)用框架層中引入了Android應(yīng)用適配層,可兼容支持Android應(yīng)用的運(yùn)行。對Java應(yīng)用框架層API的封裝模型進(jìn)行分析,闡述應(yīng)用框架與底層組件之間的調(diào)用關(guān)系,并比較分析各種模型的特點(diǎn)。通過對封裝模型的分析,可清晰地理解Android應(yīng)用適配層API的封裝原理,有助于進(jìn)一步理解NGB TVOS兼容Android應(yīng)用的技術(shù)原理。

NGB;TVOS;API;軟件架構(gòu);應(yīng)用框架;封裝模型

1 NGB TVOS軟件架構(gòu)

2013年12月26日,國家新聞出版廣電總局發(fā)布了下一代廣播電視網(wǎng)智能電視操作系統(tǒng)(NGB TVOS)1.0版本參考軟件。NGB TVOS是在廣電總局科技司領(lǐng)導(dǎo)下、廣播科學(xué)研究院牽頭組織下,聯(lián)合國內(nèi)電視領(lǐng)域優(yōu)勢企業(yè)共同開發(fā)推出的一款真正面向電視領(lǐng)域的智能終端核心基礎(chǔ)軟件,內(nèi)嵌支撐數(shù)字電視業(yè)務(wù)的功能組件,應(yīng)用框架層實(shí)現(xiàn)了GY/T 267—2012《下一代廣播電視網(wǎng)(NGB)終端中間件技術(shù)規(guī)范》定義的API,可支持各類NGB-J/NGB-H電視應(yīng)用從開發(fā)、部署、下載到運(yùn)行的全生命周期管理及資源優(yōu)化調(diào)度管理,并提供硬件、軟件、網(wǎng)絡(luò)、數(shù)據(jù)、應(yīng)用等多層次的安全支撐。尤其在Java應(yīng)用框架層引入Android應(yīng)用適配層,可兼容支持Android應(yīng)用,極大豐富與簡化電視應(yīng)用的開發(fā)部署[1]。

NGB TVOS作為一款軟件平臺,運(yùn)行于嵌入式硬件平臺之上,承載著電視直播、視頻點(diǎn)播、網(wǎng)頁瀏覽、游戲、購物等各種應(yīng)用,其軟件架構(gòu)如圖1所示[2]。

圖1 NGB TVOS軟件架構(gòu)

NGB TVOS的軟件架構(gòu)采用“分層法”設(shè)計,按照功能層次從上到下分為:應(yīng)用框架層、執(zhí)行環(huán)境層、組件層、硬件抽象層(HAL,Hardware Abstract Layer)和Linux內(nèi)核層[2]。

應(yīng)用框架層對底層功能組件能力的重用進(jìn)行了簡化,并采用高級語言(Java、JS)封裝,上層應(yīng)用程序調(diào)用應(yīng)用框架層顯露的API實(shí)現(xiàn)對系統(tǒng)功能組件能力的調(diào)用,方便應(yīng)用程序開發(fā),增加了程序的清晰度,降低了程序設(shè)計的難度。NGB TVOS針對Java和Web兩種高級編程語言,分別實(shí)現(xiàn)了Java應(yīng)用框架和Web應(yīng)用框架;Java應(yīng)用框架層中引入了Android應(yīng)用適配層,可兼容支持Android應(yīng)用[3]。

執(zhí)行環(huán)境層是指Java和Web應(yīng)用代碼的執(zhí)行解釋環(huán)境。針對Java應(yīng)用,NGB TVOS實(shí)現(xiàn)了TVM,實(shí)現(xiàn)對Java字節(jié)碼的解釋執(zhí)行;針對Web應(yīng)用,NGB TVOS實(shí)現(xiàn)了瀏覽器,實(shí)現(xiàn)對Web頁面標(biāo)簽和JS腳本的解釋執(zhí)行。

組件層是NGB TVOS軟件平臺功能的主要實(shí)現(xiàn)體,以后臺服務(wù)進(jìn)程或函數(shù)庫的方式存在,實(shí)現(xiàn)了系統(tǒng)窗口管理、應(yīng)用管理、安裝包管理、圖形庫、標(biāo)準(zhǔn)C庫等基本功能。NGB TVOS標(biāo)準(zhǔn)化定義了各個組件對上層的調(diào)用接口為“通用組件接口”。Java應(yīng)用框架通過JNI調(diào)用“通用組件接口”,具有了訪問組件的能力;Web應(yīng)用執(zhí)行環(huán)境通過JSNI調(diào)用“通用組件接口”,實(shí)現(xiàn)了訪問組件的能力。

硬件抽象層封裝了硬件驅(qū)動資源和Linux內(nèi)核系統(tǒng)資源,使得與底層硬件相關(guān)的能力對上層調(diào)用透明化、簡單化。

Linux內(nèi)核層擔(dān)當(dāng)起實(shí)際的操作系統(tǒng)任務(wù),實(shí)現(xiàn)了進(jìn)程管理、存儲管理、I/O管理、網(wǎng)絡(luò)協(xié)議棧、安全保護(hù)和驅(qū)動模型等系統(tǒng)核心服務(wù)。

資源管理框架制定了一整套從上至下的資源管理策略,可對系統(tǒng)稀缺資源實(shí)現(xiàn)全局高效協(xié)同管理。

安全框架制定了一整套從上至下的安全保護(hù)策略,實(shí)現(xiàn)系統(tǒng)安全的全局防控。

2 Java應(yīng)用框架層API封裝模型

NGB TVOS Java應(yīng)用框架的實(shí)質(zhì)是Java API封裝代碼的集合,屬于同一功能單元的若干API集中放置在同一個Java包內(nèi),Java應(yīng)用框架包含若干個Java包,所有的Java包最終可打包成一個或者多個.jar文件。

NGB TVOS Java應(yīng)用框架層的API主要包含3部分:Java ME API、NGB-J API和Android API,NGB-J API遵循GY/T 267—2012《下一代廣播電視網(wǎng)(NGB)終端中間件技術(shù)規(guī)范》。

通過閱讀NGB TVOS 1.0版本的原型參考代碼,分析得出NGB TVOS的Java應(yīng)用框架層API主要采用了5種封裝模型。

2.1 封裝模型一

NGB TVOS Java應(yīng)用框架層API封裝模型一如圖2所示。

圖2 NGB TVOS Java API封裝模型一

Java API其內(nèi)部功能邏輯基本上采用Java代碼實(shí)現(xiàn),不需要或者很少通過JNI調(diào)用底層C/C++核心庫。應(yīng)用框架層的代碼很厚。

例如:NGB TVOS Java應(yīng)用框架中絕大多數(shù)的Java ME API符合此封裝模型。

2.2 封裝模型二

NGB TVOS Java應(yīng)用框架層API封裝模型二見圖3。

圖3 NGB TVOS Java API封裝模型二

Java API其內(nèi)部功能邏輯簡單,基本上是通過JNI對等調(diào)用底層的C/C++庫組件實(shí)現(xiàn)API的功能,主要邏輯在底層。庫組件以C/C++函數(shù)庫的形式存在。

例如:NGB TVOS Java應(yīng)用框架中部分簡單一點(diǎn)的 NGB-J API符合此封裝模型。

2.3 封裝模型三

NGB TVOS Java應(yīng)用框架層API封裝模型三見圖4。

圖4 NGB TVOS Java API封裝模型三

在模型三中,Java API內(nèi)部功能邏輯簡單,基本上是通過JNI對等調(diào)用底層的C/C++服務(wù)組件實(shí)現(xiàn)API的功能。服務(wù)組件的主要功能邏輯由服務(wù)端代碼實(shí)現(xiàn),服務(wù)進(jìn)程一直在后臺運(yùn)行;客戶端代碼以函數(shù)庫的方式存在,實(shí)現(xiàn)接口供外部模塊調(diào)用;客戶端通過Binder機(jī)制訪問服務(wù)端。Java API通過JNI調(diào)用服務(wù)組件的客戶端。

與模型二相比,服務(wù)組件不再是C/C++函數(shù)庫,而是依照Binder機(jī)制開發(fā)的、系統(tǒng)啟動后一直在后臺運(yùn)行的系統(tǒng)服務(wù)[4]。

例如:NGB TVOS Java應(yīng)用框架中與數(shù)字電視功能相關(guān)的NGB-J API符合此封裝模型。

2.4 封裝模型四

NGB TVOS Java應(yīng)用框架層API封裝模型四見圖5。

圖5 NGB TVOS Java API封裝模型四

在模型四中,Java應(yīng)用框架層代碼是依據(jù)Binder機(jī)制采用Java語言開發(fā)的服務(wù)組件的客戶端,服務(wù)組件的服務(wù)端由底層C/C++語言實(shí)現(xiàn)。服務(wù)組件以系統(tǒng)服務(wù)的方式運(yùn)行,主體功能邏輯由服務(wù)端代碼實(shí)現(xiàn),客戶端內(nèi)部通過Binder機(jī)制訪問服務(wù)端。

與模型三相比,服務(wù)組件提供了Java空間和C/C++空間的兩種客戶端,Java應(yīng)用框架層直接通過Binder機(jī)制訪問服務(wù)組件的服務(wù)端,而不是如模型三中先通過JNI訪問C/C++空間的客戶端,然后再通過Binder機(jī)制訪問服務(wù)組件的服務(wù)端[5]。與模型三相比,Java應(yīng)用框架層的功能邏輯稍復(fù)雜一點(diǎn)。

例如:NGB TVOS Java應(yīng)用框架中大部分Android API符合此封裝模型。Java語言編寫的客戶端代碼劃入軟件架構(gòu)圖中的“Android應(yīng)用適配層”,C/C++語言開發(fā)的服務(wù)端代碼沉入到組件層。

2.5 封裝模型五

NGB TVOS Java應(yīng)用框架層API封裝模型五見圖6。

圖6 NGB TVOS Java API裝模型五

在模型五中,服務(wù)組件的客戶端和服務(wù)端全部采用Java語言實(shí)現(xiàn),Java應(yīng)用框架包含客戶端代碼和服務(wù)端代碼,服務(wù)組件在Java空間以系統(tǒng)服務(wù)的方式運(yùn)行,主體功能邏輯由服務(wù)端代碼實(shí)現(xiàn),客戶端代碼實(shí)現(xiàn)接口供外部模塊調(diào)用,客戶端內(nèi)部通過Binder機(jī)制訪問服務(wù)端。

與模型四相比,服務(wù)組件的代碼全部由Java語言實(shí)現(xiàn)。

例如:NGB TVOS Java應(yīng)用框架中較少一部分Android API符合此封裝模型。Java語言編寫的客戶端代碼和服務(wù)端代碼均劃入軟件架構(gòu)圖中的“Android應(yīng)用適配層”。

在NGB TVOS的發(fā)展規(guī)劃中,模型五將逐漸被廢棄,由模型四取代。

3 封裝模型對比分析

NGB TVOS Java應(yīng)用框架層API封裝模型二和模型一相比,模型一API功能邏輯基本上由Java代碼實(shí)現(xiàn),應(yīng)用框架層的代碼很厚,運(yùn)行效率低,但跨平臺移植性好;模型二API功能邏輯主要由C/C++代碼實(shí)現(xiàn),應(yīng)用框架層的代碼很薄,運(yùn)行效率高,但移植性差。

NGB TVOS Java應(yīng)用框架層API封裝模型三和模型二相比,應(yīng)用框架層的代碼都很薄,API功能邏輯主要都由C/C++代碼實(shí)現(xiàn),區(qū)別就在于模型二底層C/C++組件是以函數(shù)庫的方式存在,模型三底層C/C++組件是以后臺服務(wù)的方式存在,模型的選擇取決于組件的定義。若不考慮底層組件的差異,模型二和模型三在應(yīng)用框架層的封裝代碼基本類似。

NGB TVOS Java應(yīng)用框架層API封裝模型四和模型三相比,底層C/C++服務(wù)組件類型一致,都是以后臺服務(wù)的方式存在,但Java層封裝方法不一樣,模型三的Java層代碼是對底層組件客戶端的簡單調(diào)用,而模型四的Java層代碼是按Binder機(jī)制實(shí)現(xiàn)了同底層一樣的客戶端,代碼實(shí)現(xiàn)復(fù)雜度比較高。

NGB TVOS Java應(yīng)用框架層API封裝模型五和模型四相比,Java層都一致封裝成服務(wù)組件的客戶端,服務(wù)組件的服務(wù)端在模型四中采用C/C++代碼實(shí)現(xiàn),在模型五中采用Java代

碼實(shí)現(xiàn)。模型四的運(yùn)行效率相對高一點(diǎn),模型五的跨平臺移植性好點(diǎn)。

模型五的存在,主要是為了快速跟進(jìn)Android的版本升級,一旦平臺穩(wěn)定,將全部改寫成模型四。在模型四中,服務(wù)組件的服務(wù)端沉降到組件層,可以方便地被組件層其他組件調(diào)用,增強(qiáng)了組件的復(fù)用性。

4 小結(jié)

本文詳細(xì)分析了NGB TVOS Java應(yīng)用框架層API的5種封裝模型,以及這5種模型的對比分析,有助于讀者清晰理解NGB TVOS Java應(yīng)用框架的實(shí)質(zhì),以及NGB TVOS是如何實(shí)現(xiàn)對Android應(yīng)用的兼容。縱觀NGB TVOS應(yīng)用框架層的5種封裝模型,不存在誰優(yōu)誰劣的問題,而是考慮若干因素之后綜合選擇的結(jié)果,確保在決策時能得到最優(yōu)的選擇。

[1] 李學(xué)明.廣電智能電視操作系統(tǒng)發(fā)展淺析[J].電視技術(shù),2013,37(20):1-3.

[2] 陳德林.NGB TVOS的軟件架構(gòu)及其主要技術(shù)特點(diǎn)[J].廣播電視信息,2013(10):21-25.

[3] 陳德林.Android操作系統(tǒng)與數(shù)字電視中間件的對比分析[J].廣播與電視技術(shù),2012,39(1):87-91.

[4] 李靜.Android中Binder機(jī)制研究與應(yīng)用[J].工業(yè)控制計算機(jī),2012,25(4):66-67.

[5] 王汝言.Android下Binder進(jìn)程間通信機(jī)制的分析與研究[J].計算機(jī)技術(shù)與發(fā)展,2012,22(9):100-106.

黎 政(1985— ),工程師,主研計算機(jī)技術(shù);

白 偉(1985— ),工程師,主研通信工程技術(shù);

陳德林(1975— ),教授級高工,主研廣播電視技術(shù)。

責(zé)任編輯:許 盈

Analysis of Package Model for NGB TVOS Java Application Framework Layer API

ZHANG Dingjing,WANG Ying,LI Zheng,BAI Wei,CHEN Delin

(AcademyofBroadcastingScienceStateAdministrationofPress,Publicaton,Radio,F(xiàn)ilmandTelevision,Beijing100866,China)

NGB TVOS is a core basic software platform for intelligent television terminal, the functional components which support digital television service are embedded in the platform, the API defined by specification of NGB receiver middleware is implemented in platform’s application framework layer, so NGB-J and NGB-H applications are supported. Especially, Android application adaptation layer is imported into the Java application framework layer, so Android applications can be supported to run in TVOS. The relations between the application framework and the underlying components are elaborated by analyzing the package model of Java application framework layer API, characteristics of various package models are compared and analyzed as well. The package principles of the Android application adaptation layer API would be clearly understood by analysis of package model, and it would be helpful on understanding the technical principles of NGB TVOS compatible with Android applications.

NGB; TVOS; API; software architecture; application framework; package model

【本文獻(xiàn)信息】張定京,王穎,黎政,等.NGB TVOS Java應(yīng)用框架層API的封裝模型分析[J].電視技術(shù),2015,39(13).

國家“863”計劃項目(2014ZX01039101-001)

TN949.6

B

10.16280/j.videoe.2015.13.026

張定京(1978— ),女,高級工程師,主研廣播電視技術(shù);

王 穎(1982— ),女,工程師,主研通信工程技術(shù);

2015-03-24

猜你喜歡
服務(wù)模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
3D打印中的模型分割與打包
主站蜘蛛池模板: 偷拍久久网| 九九这里只有精品视频| 国产麻豆另类AV| 暴力调教一区二区三区| 第一页亚洲| 丁香五月亚洲综合在线| 免费看的一级毛片| 香蕉国产精品视频| 国产免费精彩视频| 亚洲中文字幕23页在线| 久久77777| 乱色熟女综合一区二区| 国产精品漂亮美女在线观看| 亚洲第七页| 香蕉久久永久视频| 在线播放精品一区二区啪视频| 成年片色大黄全免费网站久久| 国产一区二区网站| 无码高潮喷水专区久久| 天天色天天综合网| 国产在线高清一级毛片| 国产精品吹潮在线观看中文| 久热re国产手机在线观看| 国产精品主播| 香蕉国产精品视频| 色婷婷久久| 国产xxxxx免费视频| 欧美成人午夜视频| 亚洲人网站| 国产激情影院| 无码福利视频| 三级欧美在线| 亚洲成a人片7777| 婷婷激情五月网| 人人看人人鲁狠狠高清| 久久99国产乱子伦精品免| 国产91在线|日本| 天天躁狠狠躁| 亚洲日本中文字幕天堂网| 国产高清不卡| 国产精品久久久久久久久久久久| 国产99欧美精品久久精品久久| 国产成人精品18| 欧美性猛交xxxx乱大交极品| 日韩在线2020专区| 成人福利在线观看| 国产自产视频一区二区三区| 欧美一区二区啪啪| 国产小视频a在线观看| 国产aⅴ无码专区亚洲av综合网| 九九久久精品免费观看| 国产精品不卡片视频免费观看| 久久精品波多野结衣| 亚洲男人天堂2020| 久久精品丝袜| 在线观看无码a∨| 欧美另类精品一区二区三区| 天堂亚洲网| 国产欧美亚洲精品第3页在线| 欧美日韩国产综合视频在线观看| 欧美精品xx| 国产精品视频第一专区| 性欧美精品xxxx| 国产丝袜一区二区三区视频免下载| 99视频国产精品| 国产成人精品亚洲日本对白优播| 久操线在视频在线观看| 曰AV在线无码| 亚洲视频在线网| 伊大人香蕉久久网欧美| 深夜福利视频一区二区| 一级毛片在线播放| 波多野结衣久久高清免费| 亚洲综合欧美在线一区在线播放| 91精品啪在线观看国产60岁| 99久久精彩视频| 久久久黄色片| 免费人成又黄又爽的视频网站| 国产乱人视频免费观看| 亚洲不卡av中文在线| 天天综合色网| 亚洲黄色成人|