欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于中間件插件框架的插件套接字資源控制方法及客戶端的制作方法_2

文檔序號(hào):9452834閱讀:來源:國(guó)知局
件基礎(chǔ)框架構(gòu)造的一個(gè)繪圖應(yīng)用程序接口的例子如下:
[0035]
[0036] 當(dāng)所述插件接口 2210中的API程序接口被插件調(diào)用時(shí),插件管理器210將調(diào)用的 API程序接口映射到中間件單元21中的API模塊213中相應(yīng)的API基礎(chǔ)功能函數(shù),調(diào)用該 相應(yīng)的API基礎(chǔ)功能函數(shù),如繪圖相關(guān)函數(shù)等,以完成相應(yīng)的插件功能。插件框架模塊221 與中間件單元21中的API模塊213的關(guān)聯(lián)關(guān)系參閱圖4所示。當(dāng)一個(gè)插件需要中間件單 元21中的API模塊213提供的API基礎(chǔ)功能函數(shù)時(shí),插件管理器210將插件接口 2210中 相應(yīng)的API程序接口填充到所述框架接口 2212。當(dāng)所述插件接口 2210中的API程序接口 被該插件調(diào)用時(shí),將調(diào)用的API程序接口映射到中間件單元21中的API模塊213中相應(yīng)的 API基礎(chǔ)功能函數(shù),調(diào)用該相應(yīng)的API基礎(chǔ)功能函數(shù),以完成該插件的功能。
[0037] 例如,當(dāng)一個(gè)插件需要顯示圖片時(shí),需要中間件單元21中的API模塊213提供的 圖片處理函數(shù)(如圖片解碼函數(shù))提供支持,則插件管理器210將插件接口 2210中的圖片 程序接口填充到框架接口 2212,并將圖片程序接口映射到API模塊213中的圖片處理函數(shù), 調(diào)用該圖片處理函數(shù)來顯示圖片。
[0038] 參閱圖2所示,所述中間件插件框架設(shè)計(jì)系統(tǒng)20應(yīng)用于客戶端2,所述客戶端2 可以是數(shù)字機(jī)頂盒等電子裝置。第三方開發(fā)者可以根據(jù)插件接口 2210提供的一個(gè)或多個(gè) API程序接口,開發(fā)出相應(yīng)的插件,并通過打包加密工具10將開發(fā)出的插件上傳至服務(wù)端 1,該打包加密工具10可以由客戶端2提供。插件管理器210與服務(wù)端1通訊連接,可以通 過HTTP(HypertextTransferProtocol,超文本傳輸協(xié)議)或其它網(wǎng)絡(luò)傳輸協(xié)議從服務(wù)端 1下載插件的加密數(shù)據(jù)包,并將下載的插件存儲(chǔ)于插件單元22的插件庫(kù)220。
[0039] 需要說明的是,上述服務(wù)端1和客戶端2還包括其他必要的硬件資源和軟件系統(tǒng), 如顯示屏幕、輸入設(shè)備、存儲(chǔ)器、處理器和操作系統(tǒng)等。所述服務(wù)端1和客戶端2可以提供 一個(gè)或多個(gè)模塊,所述一個(gè)或多個(gè)模塊被存儲(chǔ)在所述服務(wù)端1和客戶端2的存儲(chǔ)器中并被 配置成由服務(wù)端1和客戶端2的處理器執(zhí)行,以完成本發(fā)明。本發(fā)明所稱的模塊是完成一 特定功能的計(jì)算機(jī)程序段,比程序更適合于描述軟件在服務(wù)端1和客戶端2中的執(zhí)行過程。
[0040] 當(dāng)客戶端2啟動(dòng)時(shí),所述插件管理器210會(huì)檢測(cè)插件庫(kù)220中插件的合法性,例 如,檢測(cè)插件庫(kù)220中的插件版本與服務(wù)端1中的插件版本是否一致,檢測(cè)插件庫(kù)220中的 插件內(nèi)容與服務(wù)端1中的插件內(nèi)容是否一致等。
[0041]所述插件管理器210還用于控制插件的安裝、更新、及卸載等操作,具體描述參閱 圖5至圖7的說明。
[0042] 以下結(jié)合圖3進(jìn)一步描述中間件插件框架設(shè)計(jì)系統(tǒng)20 (以下簡(jiǎn)稱為"中間件插件 框架20")的運(yùn)作流程。
[0043] 如圖3所示,是本發(fā)明中間件插件框架設(shè)計(jì)方法的主體流程圖。
[0044] 步驟S101,設(shè)置客戶端2中的中間件插件框架20,包括中間件單元21和插件單元 22〇
[0045] 步驟S102,當(dāng)客戶端2接收到一個(gè)插件請(qǐng)求時(shí),中間件單元21的插件管理器210 根據(jù)該插件請(qǐng)求中的插件標(biāo)識(shí)符(記為"classid")查找對(duì)應(yīng)的插件。在本實(shí)施例中,所述 插件標(biāo)識(shí)符為一個(gè)字符串,一個(gè)插件對(duì)應(yīng)唯一的插件標(biāo)識(shí)符。參閱圖2所示,一個(gè)插件可以 通過HTML(HypertextMarkupLanguage,超文本鏈接標(biāo)示語(yǔ)言)頁(yè)面向客戶端2觸發(fā)一個(gè) 插件請(qǐng)求(頁(yè)面觸發(fā)),該插件請(qǐng)求包括該插件的唯一標(biāo)識(shí)符classid。插件管理器210根 據(jù)該插件標(biāo)識(shí)符classid對(duì)該插件進(jìn)行統(tǒng)一管理。
[0046] 步驟S103,當(dāng)查找到對(duì)應(yīng)的插件后,插件管理器210將插件單元22的插件框架模 塊221中的框架接口 2212注冊(cè)到中間件單元21的Web引擎211,以啟動(dòng)該插件。在其他實(shí) 施例中,該插件也可以在客戶端2開機(jī)后自動(dòng)從后臺(tái)啟動(dòng),并由插件管理器210觸發(fā)管理。
[0047] 步驟S104,插件管理器210給該插件隨機(jī)分配一個(gè)插件實(shí)例標(biāo)識(shí)符(記為 "pluginid"),并建立上述插件標(biāo)識(shí)符classid與該插件實(shí)例標(biāo)識(shí)符pluginid的關(guān)聯(lián)。插 件的運(yùn)行需要?jiǎng)?chuàng)建一個(gè)插件實(shí)例,通過該插件實(shí)例完成相應(yīng)的插件操作,例如,如果插件 為Flash播放器,則插件實(shí)例可以是正在播放的Flash播放器,多實(shí)例就是同時(shí)開啟多個(gè) Flash播放器同時(shí)進(jìn)行播放,每一個(gè)在播放的Flash播放器都是一個(gè)插件實(shí)例。在本實(shí)施例 中,所述插件實(shí)例標(biāo)識(shí)符可以是一個(gè)隨機(jī)整數(shù),一個(gè)插件實(shí)例對(duì)應(yīng)唯一的插件實(shí)例標(biāo)識(shí)符。
[0048] 步驟S105,在該插件運(yùn)行的過程中,插件單元22中的插件框架模塊221根據(jù)上述 插件實(shí)例標(biāo)識(shí)符控制該插件的資源使用情況。在本實(shí)施例中,資源使用情況的控制包括,但 不限于,內(nèi)存資源使用控制機(jī)制、文檔資源使用控制機(jī)制、Socket資源使用控制機(jī)制,具體 描述參閱圖8至圖10的描述。
[0049] 進(jìn)一步地,所述中間件插件框架設(shè)計(jì)系統(tǒng)20設(shè)置有插件安全機(jī)制,用于加密和校 驗(yàn)第三方開發(fā)的插件,整個(gè)加密體系包括三個(gè)方面的流程,安全發(fā)布流程、下載校驗(yàn)流程和 運(yùn)行校驗(yàn)流程,具體描述參閱圖11至圖13的說明。
[0050] 在本實(shí)施例中,所述中間件插件框架設(shè)計(jì)系統(tǒng)20具有以下特性:
[0051] (1)可靠性和安全性
[0052] 中間件插件框架設(shè)計(jì)系統(tǒng)20充分考慮插件的安全機(jī)制:在插件包制作過程中進(jìn) 行簽名和加密處理,在發(fā)布、下載、運(yùn)行三個(gè)階段進(jìn)行多層校驗(yàn),確保插件的整個(gè)生命周期 中軟件程序的安全可控。
[0053] (2)與中間件的低耦合性
[0054] 插件的下載、加載由插件管理器210管理,運(yùn)行由插件框架模塊221控制,而這兩 者都是從中間件中剝離出來可以獨(dú)立構(gòu)成的模塊,具有獨(dú)立的流程數(shù)據(jù)行為,兩者與中間 件的唯一交互通道就是框架接口 2212在Web引擎211中的提供給外部模塊使用的接口。插 件作為單獨(dú)的功能模塊,相互之間獨(dú)立運(yùn)行,通過統(tǒng)一接口與中間件單元21進(jìn)行通信,無 直接關(guān)聯(lián)。
[0055] (3)開發(fā)實(shí)現(xiàn)的高效性
[0056] 根據(jù)插件的一般功能性需求,中間件插件框架設(shè)計(jì)系統(tǒng)20整合了中間件軟件結(jié) 構(gòu),搭建出插件開發(fā)基本框架,第三方開發(fā)者只需根據(jù)插件接口 2210提供的一個(gè)或多個(gè) API程序接口,開發(fā)出相應(yīng)的插件,即可實(shí)現(xiàn)一個(gè)可被中間件單元21識(shí)別的合法插件。
[0057] 各個(gè)功能模塊(如中間單元21、插件單元22)可以并行開發(fā),有效縮短開發(fā)周期。 由于具體的功能細(xì)化到插件,功能剝離后整個(gè)中間件單元21結(jié)構(gòu)更清晰,降低了系統(tǒng)設(shè)計(jì) 復(fù)雜度,同時(shí)降低了功能變化帶來的風(fēng)險(xiǎn),實(shí)現(xiàn)中間件功能組件的"即插即用"。
[0058] (4)插件運(yùn)行可控性
[0059] 鑒于中間件單元21在客戶端2的主導(dǎo)作用,在本實(shí)施例中,通過插件的校驗(yàn)和插 件資源使用情況的控制,插件的行為被適當(dāng)約束,包括禁止加載非法未授權(quán)的插件、監(jiān)控合 法插件的操作行為、合理控制插件申請(qǐng)和使用中間件單元21的系統(tǒng)資源等,防止中間件單 元21負(fù)荷過載而無法正常運(yùn)行。
[0060] 以下結(jié)合圖5至圖7的描述具體介紹所述插件管理器210控制插件的安裝、更新、 及卸載等操作。
[0061] 參閱圖5所示,是本發(fā)明基于中間件插件框架的插件狀態(tài)控制方法的主體流程 圖。該方法基于上述的中間件插件框架。
[0062] 步驟S201,客戶端2開機(jī)時(shí),中間件單元21中的插件管理器210獲取客戶端2中 已經(jīng)安裝的插件,生成第一插件列表。在本實(shí)施例中,所述第一插件列表為XML(Extensible MarkupLanguage,可擴(kuò)展標(biāo)記語(yǔ)言)格式文件。所述第一插件列表中存儲(chǔ)有所獲取插件的 插件標(biāo)識(shí)符和版本號(hào)等信息。
[0063] 參閱圖6所示,在本實(shí)施例中,一個(gè)插件在開發(fā)完成后,需要使用客戶端2提供的 打包加密工具10,對(duì)插件應(yīng)用程序(*?so文件)和插件描述信息(*?json文件)進(jìn)行加密 打包生成加密插件包(*.zip)上傳至服務(wù)端1。其中json格式的插件描述信息中包含了 插件的標(biāo)識(shí)符(classid)、版本(Version)、加密參數(shù)(key、MD5)等基本信息。終端中間件 在安裝該插件前,需要使用上述插件描述信息對(duì)其合法性進(jìn)行校驗(yàn)。
[0064] 步驟S202,插件管理器210將該第一插件列表與狀態(tài)獲取請(qǐng)求一同發(fā)送至服務(wù)端 1,并接收服務(wù)端1返回的與該第一插件列表對(duì)應(yīng)的第二插件列表。在本實(shí)施例中,所述第 二插件列表為XML格式文件,所述第二插件列表中存儲(chǔ)有通過服務(wù)端1校驗(yàn)的插件的插件 標(biāo)識(shí)符和每個(gè)通過校驗(yàn)的插件的狀態(tài)信息。所述狀態(tài)信息包括,但不限于,安裝狀態(tài)、更新 狀態(tài)、及卸載狀態(tài)。例如,如果第一插件列表中的插件版本號(hào)與服務(wù)端1中最新的版本號(hào)不 一致,則判定插件需要更新(更新狀態(tài))。
[0065] 在本實(shí)施例中,所述插件管理器210通過HTTPPOST方式向服務(wù)端1發(fā)送狀態(tài)獲 取請(qǐng)求。當(dāng)服務(wù)端1接收到該狀態(tài)獲取請(qǐng)求時(shí),先對(duì)第一插件列表中存儲(chǔ)的插件標(biāo)識(shí)符進(jìn) 行校驗(yàn)。例如,所述校驗(yàn)包括:驗(yàn)證第一插件列表中存儲(chǔ)的插件標(biāo)識(shí)符是否與服務(wù)端1存儲(chǔ) 的插件標(biāo)識(shí)符一致。
[0066] 如果第一插件列表中存儲(chǔ)的插件標(biāo)識(shí)符與服務(wù)端1存儲(chǔ)的插件標(biāo)識(shí)符一致,則判 定校驗(yàn)通過。如果第一插件列表中存儲(chǔ)的插件標(biāo)識(shí)符與服務(wù)端1存儲(chǔ)的插件標(biāo)識(shí)符不一致 (如第一插件
當(dāng)前第2頁(yè)1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
洛浦县| 阳信县| 衡阳市| 乌苏市| 长汀县| 灵川县| 阿坝县| 库车县| 会理县| 渭源县| 大厂| 紫云| 宜君县| 浦县| 安仁县| 杨浦区| 高阳县| 松阳县| 汝州市| 板桥市| 柳州市| 澜沧| 灌云县| 泸溪县| 保亭| 庆云县| 西吉县| 湾仔区| 五寨县| 花莲县| 双柏县| 揭西县| 石狮市| 云林县| 珠海市| 泰顺县| 烟台市| 郑州市| 红桥区| 新宾| 马鞍山市|