亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2015-10-12 08:05:44張定京陳德林
        電視技術(shù) 2015年13期
        關(guān)鍵詞:服務(wù)端調(diào)用底層

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

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

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

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

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

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

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

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

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

        應(yīng)用框架層對(duì)底層功能組件能力的重用進(jìn)行了簡(jiǎn)化,并采用高級(jí)語(yǔ)言(Java、JS)封裝,上層應(yīng)用程序調(diào)用應(yīng)用框架層顯露的API實(shí)現(xiàn)對(duì)系統(tǒng)功能組件能力的調(diào)用,方便應(yīng)用程序開(kāi)發(fā),增加了程序的清晰度,降低了程序設(shè)計(jì)的難度。NGB TVOS針對(duì)Java和Web兩種高級(jí)編程語(yǔ)言,分別實(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)境。針對(duì)Java應(yīng)用,NGB TVOS實(shí)現(xiàn)了TVM,實(shí)現(xiàn)對(duì)Java字節(jié)碼的解釋執(zhí)行;針對(duì)Web應(yīng)用,NGB TVOS實(shí)現(xiàn)了瀏覽器,實(shí)現(xiàn)對(duì)Web頁(yè)面標(biāo)簽和JS腳本的解釋執(zhí)行。

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

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

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

        資源管理框架制定了一整套從上至下的資源管理策略,可對(duì)系統(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集中放置在同一個(gè)Java包內(nèi),Java應(yīng)用框架包含若干個(gè)Java包,所有的Java包最終可打包成一個(gè)或者多個(gè).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ī)范》。

        通過(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),不需要或者很少通過(guò)JNI調(diào)用底層C/C++核心庫(kù)。應(yīng)用框架層的代碼很厚。

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

        2.2 封裝模型二

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

        圖3 NGB TVOS Java API封裝模型二

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

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

        2.3 封裝模型三

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

        圖4 NGB TVOS Java API封裝模型三

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

        與模型二相比,服務(wù)組件不再是C/C++函數(shù)庫(kù),而是依照Binder機(jī)制開(kāi)發(fā)的、系統(tǒng)啟動(dòng)后一直在后臺(tái)運(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封裝模型四見(jiàn)圖5。

        圖5 NGB TVOS Java API封裝模型四

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

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

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

        2.5 封裝模型五

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

        圖6 NGB TVOS Java API裝模型五

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

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

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

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

        3 封裝模型對(duì)比分析

        NGB TVOS Java應(yīng)用框架層API封裝模型二和模型一相比,模型一API功能邏輯基本上由Java代碼實(shí)現(xiàn),應(yīng)用框架層的代碼很厚,運(yùn)行效率低,但跨平臺(tái)移植性好;模型二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ù)庫(kù)的方式存在,模型三底層C/C++組件是以后臺(tái)服務(wù)的方式存在,模型的選擇取決于組件的定義。若不考慮底層組件的差異,模型二和模型三在應(yīng)用框架層的封裝代碼基本類(lèi)似。

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

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

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

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

        4 小結(jié)

        本文詳細(xì)分析了NGB TVOS Java應(yīng)用框架層API的5種封裝模型,以及這5種模型的對(duì)比分析,有助于讀者清晰理解NGB TVOS Java應(yīng)用框架的實(shí)質(zhì),以及NGB TVOS是如何實(shí)現(xiàn)對(duì)Android應(yīng)用的兼容。縱觀NGB TVOS應(yīng)用框架層的5種封裝模型,不存在誰(shuí)優(yōu)誰(shuí)劣的問(wèn)題,而是考慮若干因素之后綜合選擇的結(jié)果,確保在決策時(shí)能得到最優(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ù)字電視中間件的對(duì)比分析[J].廣播與電視技術(shù),2012,39(1):87-91.

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

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

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

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

        陳德林(1975— ),教授級(jí)高工,主研廣播電視技術(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).

        國(guó)家“863”計(jì)劃項(xiàng)目(2014ZX01039101-001)

        TN949.6

        B

        10.16280/j.videoe.2015.13.026

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

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

        2015-03-24

        猜你喜歡
        服務(wù)端調(diào)用底層
        航天企業(yè)提升采購(gòu)能力的底層邏輯
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        云存儲(chǔ)中基于相似性的客戶(hù)-服務(wù)端雙端數(shù)據(jù)去重方法
        新時(shí)期《移動(dòng)Web服務(wù)端開(kāi)發(fā)》課程教學(xué)改革的研究
        在Windows Server 2008上創(chuàng)建應(yīng)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        回到現(xiàn)實(shí)底層與悲憫情懷
        利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
        略論“底層”
        雜文選刊(2013年7期)2013-02-11 10:41:11
        又大又粗又爽的少妇免费视频| 日本一区二区视频免费在线观看| 亚洲免费女女在线视频网站| 亚洲av无码乱码在线观看牲色| 国产欧美一区二区精品仙草咪| 国产最新一区二区三区天堂| 人妻少妇偷人精品久久人妻 | 国产精品久久久久久2021| 国产精品久久久精品三级18| 日韩精品人妻少妇一区二区| 亚洲国产精品夜男人天堂| 手机色在线| 午夜视频在线观看日本| 亚洲一区二区女搞男| 少妇高潮尖叫黑人激情在线| 亚洲欧美日韩国产一区二区精品| 日本一区二区啪啪视频| 91l视频免费在线观看| 亚洲av永久无码天堂网小说区| 日本三级欧美三级人妇视频| 亚洲高清国产品国语在线观看| 国产av剧情精品麻豆| 草草地址线路①屁屁影院成人| 国产精品免费久久久久影院| 国内精品九九久久精品小草| 三个黑人插一个女的视频| 色综合久久久久综合体桃花网| 俺来也俺去啦最新在线| 亚洲精品综合中文字幕组合| 国产无套粉嫩白浆内精| 久久久国产精品| 97夜夜澡人人爽人人喊中国片| 中文字幕亚洲一区二区三区| 国产不卡视频一区二区三区| 久久久久亚洲av无码网站| 免费在线观看亚洲视频| 国产三级久久精品三级91| 国产一卡2卡3卡四卡国色天香| 国产精品综合久久久久久久免费 | 黑丝国产精品一区二区| 亚洲av免费手机在线观看|