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

NGB TVOS Java應用框架層API的封裝模型分析

2015-10-12 08:05:44張定京陳德林
電視技術 2015年13期
關鍵詞:服務模型

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

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

NGB TVOS Java應用框架層API的封裝模型分析

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

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

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

NGB;TVOS;API;軟件架構;應用框架;封裝模型

1 NGB TVOS軟件架構

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

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

圖1 NGB TVOS軟件架構

NGB TVOS的軟件架構采用“分層法”設計,按照功能層次從上到下分為:應用框架層、執行環境層、組件層、硬件抽象層(HAL,Hardware Abstract Layer)和Linux內核層[2]。

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

執行環境層是指Java和Web應用代碼的執行解釋環境。針對Java應用,NGB TVOS實現了TVM,實現對Java字節碼的解釋執行;針對Web應用,NGB TVOS實現了瀏覽器,實現對Web頁面標簽和JS腳本的解釋執行。

組件層是NGB TVOS軟件平臺功能的主要實現體,以后臺服務進程或函數庫的方式存在,實現了系統窗口管理、應用管理、安裝包管理、圖形庫、標準C庫等基本功能。NGB TVOS標準化定義了各個組件對上層的調用接口為“通用組件接口”。Java應用框架通過JNI調用“通用組件接口”,具有了訪問組件的能力;Web應用執行環境通過JSNI調用“通用組件接口”,實現了訪問組件的能力。

硬件抽象層封裝了硬件驅動資源和Linux內核系統資源,使得與底層硬件相關的能力對上層調用透明化、簡單化。

Linux內核層擔當起實際的操作系統任務,實現了進程管理、存儲管理、I/O管理、網絡協議棧、安全保護和驅動模型等系統核心服務。

資源管理框架制定了一整套從上至下的資源管理策略,可對系統稀缺資源實現全局高效協同管理。

安全框架制定了一整套從上至下的安全保護策略,實現系統安全的全局防控。

2 Java應用框架層API封裝模型

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

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

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

2.1 封裝模型一

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

圖2 NGB TVOS Java API封裝模型一

Java API其內部功能邏輯基本上采用Java代碼實現,不需要或者很少通過JNI調用底層C/C++核心庫。應用框架層的代碼很厚。

例如:NGB TVOS Java應用框架中絕大多數的Java ME API符合此封裝模型。

2.2 封裝模型二

NGB TVOS Java應用框架層API封裝模型二見圖3。

圖3 NGB TVOS Java API封裝模型二

Java API其內部功能邏輯簡單,基本上是通過JNI對等調用底層的C/C++庫組件實現API的功能,主要邏輯在底層。庫組件以C/C++函數庫的形式存在。

例如:NGB TVOS Java應用框架中部分簡單一點的 NGB-J API符合此封裝模型。

2.3 封裝模型三

NGB TVOS Java應用框架層API封裝模型三見圖4。

圖4 NGB TVOS Java API封裝模型三

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

與模型二相比,服務組件不再是C/C++函數庫,而是依照Binder機制開發的、系統啟動后一直在后臺運行的系統服務[4]。

例如:NGB TVOS Java應用框架中與數字電視功能相關的NGB-J API符合此封裝模型。

2.4 封裝模型四

NGB TVOS Java應用框架層API封裝模型四見圖5。

圖5 NGB TVOS Java API封裝模型四

在模型四中,Java應用框架層代碼是依據Binder機制采用Java語言開發的服務組件的客戶端,服務組件的服務端由底層C/C++語言實現。服務組件以系統服務的方式運行,主體功能邏輯由服務端代碼實現,客戶端內部通過Binder機制訪問服務端。

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

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

2.5 封裝模型五

NGB TVOS Java應用框架層API封裝模型五見圖6。

圖6 NGB TVOS Java API裝模型五

在模型五中,服務組件的客戶端和服務端全部采用Java語言實現,Java應用框架包含客戶端代碼和服務端代碼,服務組件在Java空間以系統服務的方式運行,主體功能邏輯由服務端代碼實現,客戶端代碼實現接口供外部模塊調用,客戶端內部通過Binder機制訪問服務端。

與模型四相比,服務組件的代碼全部由Java語言實現。

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

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

3 封裝模型對比分析

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

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

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

NGB TVOS Java應用框架層API封裝模型五和模型四相比,Java層都一致封裝成服務組件的客戶端,服務組件的服務端在模型四中采用C/C++代碼實現,在模型五中采用Java代

碼實現。模型四的運行效率相對高一點,模型五的跨平臺移植性好點。

模型五的存在,主要是為了快速跟進Android的版本升級,一旦平臺穩定,將全部改寫成模型四。在模型四中,服務組件的服務端沉降到組件層,可以方便地被組件層其他組件調用,增強了組件的復用性。

4 小結

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

[1] 李學明.廣電智能電視操作系統發展淺析[J].電視技術,2013,37(20):1-3.

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

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

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

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

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

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

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

責任編輯:許 盈

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,FilmandTelevision,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

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

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

TN949.6

B

10.16280/j.videoe.2015.13.026

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

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

2015-03-24

猜你喜歡
服務模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
3D打印中的模型分割與打包
主站蜘蛛池模板: 久操中文在线| 亚洲美女操| 一级香蕉视频在线观看| 99这里只有精品在线| 99精品久久精品| 日韩在线播放中文字幕| 狠狠五月天中文字幕| 亚洲第一黄片大全| 天天做天天爱天天爽综合区| 国产美女免费| 国产精品入口麻豆| 免费无码又爽又黄又刺激网站 | 免费高清毛片| 波多野结衣在线一区二区| 人妻一区二区三区无码精品一区 | 2021国产在线视频| 看国产毛片| 国产手机在线ΑⅤ片无码观看| 中日韩一区二区三区中文免费视频 | 高潮爽到爆的喷水女主播视频 | 丰满少妇αⅴ无码区| 中文字幕精品一区二区三区视频| 国产欧美日韩视频怡春院| 在线观看网站国产| 国产黄色视频综合| 大香网伊人久久综合网2020| 色噜噜久久| 国内自拍久第一页| 精品欧美日韩国产日漫一区不卡| 爆乳熟妇一区二区三区| 婷婷午夜天| 99国产在线视频| 露脸一二三区国语对白| 国产精品jizz在线观看软件| 亚洲AV无码不卡无码| 在线播放91| 欧美国产精品拍自| 欧美成人综合在线| 在线观看国产精品第一区免费| 伊人色天堂| 影音先锋亚洲无码| 欧美乱妇高清无乱码免费| 亚洲欧美日韩成人在线| 欧美一区二区人人喊爽| 国产精品视频999| 色丁丁毛片在线观看| 国产成人一区二区| 欧美午夜在线观看| 国产一区二区网站| 亚洲成人福利网站| 国产麻豆va精品视频| 亚洲自拍另类| 2022精品国偷自产免费观看| 视频在线观看一区二区| 亚洲男女在线| 久久永久精品免费视频| 欧美激情二区三区| 国产精品网曝门免费视频| 亚洲欧美日韩久久精品| 久久五月天国产自| 五月天丁香婷婷综合久久| 久久国产免费观看| 2021国产精品自产拍在线| 人人爽人人爽人人片| 在线国产欧美| 四虎精品国产永久在线观看| 色哟哟精品无码网站在线播放视频| 成人伊人色一区二区三区| 91青青视频| 中文字幕第4页| 99re视频在线| 99久久亚洲综合精品TS| 亚洲成a人片在线观看88| 欧美成人免费午夜全| 国产日韩欧美成人| 日韩欧美国产中文| 久夜色精品国产噜噜| h网址在线观看| 黄色福利在线| 99视频有精品视频免费观看| 91在线一9|永久视频在线| 亚洲婷婷丁香|