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

一種微內(nèi)核插件化程序應(yīng)用系統(tǒng)及其實現(xiàn)方法

文檔序號:6597987閱讀:301來源:國知局
專利名稱:一種微內(nèi)核插件化程序應(yīng)用系統(tǒng)及其實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及程序語言的架構(gòu)設(shè)計領(lǐng)域,尤其涉及一種微內(nèi)核插件化程序應(yīng)用系統(tǒng) 及其實現(xiàn)方法。
背景技術(shù)
在軟件的插件化架構(gòu)實現(xiàn)中,有比較成熟的實現(xiàn)實例,比如eclipse的實現(xiàn)。 eclipse的規(guī)范主要是基于java語言的架構(gòu),在其它語言(比如C++)環(huán)境中還沒有建立標(biāo) 準(zhǔn)化的插件系統(tǒng)。傳統(tǒng)的軟件系統(tǒng)通過網(wǎng)絡(luò)進(jìn)行軟件升級有如下幾種方案1)直接下載最新的安裝包安裝。2)軟件系統(tǒng)自己檢測新版本,提示用戶下載并安裝。3)在方法2的基礎(chǔ)上,檢測本地的版本,上報服務(wù)器,服務(wù)器給出增量包的地址, 然后客戶端下載服務(wù)器上的增量升級包并安裝。方案1,2都是比較常用的方法,但效率比較低,即使有一點小的變化也得下載整 個安裝包。方案3的差量包的生成技術(shù)決定了下載的冗余度,而且上述3個方案都需要用 戶協(xié)助并且下載完成安裝。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種微內(nèi)核插件化程序應(yīng)用系統(tǒng)及其實現(xiàn) 方法,用于解決現(xiàn)有程序應(yīng)用架構(gòu)不夠靈活、軟件更新效率低、冗余度大等技術(shù)問題。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種微內(nèi)核插件化程序應(yīng)用系統(tǒng)的實現(xiàn)方法,包括程序應(yīng)用的業(yè)務(wù)邏輯基于插件來實現(xiàn),使用插件資源配置文件描述組成程序應(yīng)用 的插件所依賴的資源信息,在程序應(yīng)用運行時,由微內(nèi)核依據(jù)插件資源配置文件加載所需 插件。所述插件所依賴的資源信息包括插件信息和資源信息;所述插件信息至少包括插 件的名稱、插件所在動態(tài)鏈接庫、插件標(biāo)識;所述資源信息至少包括資源文件名稱。進(jìn)一步地,當(dāng)所述程序應(yīng)用基于多個插件實現(xiàn)時,所述插件資源配置文件還用于 描述插件之間的依賴關(guān)系,所述插件信息還包含所述插件依賴的子插件信息,所述微內(nèi)核 先加載上層插件,后加載子插件,先加載的插件先提供服務(wù)。進(jìn)一步地,所述微內(nèi)核在依據(jù)插件資源配置文件加載插件之前,先從服務(wù)器端下 載最新版本的插件資源配置文件,并根據(jù)所述最新版本的插件資源配置文件從服務(wù)器端下 載插件所依賴的資源。優(yōu)選地,所述微內(nèi)核在加載插件之前,先從服務(wù)器端獲取當(dāng)前插件資 源配置文件的最新版本號,當(dāng)依據(jù)所述版本號判定本地的插件資源配置文件不是最新版本 時,再從服務(wù)器端下載最新版本的插件資源配置文件,并根據(jù)所述最新版本的插件資源配 置文件從服務(wù)器端下載插件所依賴資源的最新版本。基于上述方法,本發(fā)明還提出一種微內(nèi)核插件化程序應(yīng)用系統(tǒng),包括
3
插件資源配置文件,用于描述組成程序應(yīng)用的插件所依賴的資源信息;所述插件 所依賴的資源信息包括插件信息和資源信息;所述插件信息至少包括插件的名稱、插件 所在動態(tài)鏈接庫、插件標(biāo)識;所述資源信息至少包括資源文件名稱。微內(nèi)核,用于依據(jù)插件資源配置文件加載組成程序應(yīng)用的插件以實現(xiàn)程序應(yīng)用的 業(yè)務(wù)邏輯。進(jìn)一步地,當(dāng)所述應(yīng)用程序基于多個插件實現(xiàn)時,所述插件資源配置文件還用于 描述插件之間的關(guān)系,所述插件信息還包含所述插件依賴的子插件信息,所述微內(nèi)核先加 載上層插件,后加載子插件,先加載的插件先提供服務(wù)。進(jìn)一步地,所述系統(tǒng)還包括資源下載服務(wù)器,用于根據(jù)微內(nèi)核的下載請求提供插件資源配置文件及插件所依 賴資源的下載;所述微內(nèi)核包括資源下載組件和插件加載器;資源下載組件,用于根據(jù)插件加載器的請求,從資源下載服務(wù)器下載最新的插件 資源配置文件及插件所依賴的資源;插件加載器,用于解析插件資源配置文件,并根據(jù)插件資源配置文件加載插件。進(jìn)一步地,所述系統(tǒng)還包括插件版本控制服務(wù)器,用于控制插件資源配置文件的版本號;所述微內(nèi)核還包括插件版本控制組件,用于根據(jù)插件加載器的請求向插件版本 控制服務(wù)器發(fā)送版本查詢請求,獲取最新版本的插件資源配置文件版本號,當(dāng)本地的插件 資源配置文件的版本不是最新版本時,所述微內(nèi)核請求資源下載組件下載最新的插件資源 配置文件。本發(fā)明實現(xiàn)了一個友好的基于插件的軟件更新系統(tǒng),軟件更新時以插件為單位作 為更新邏輯單元,減少了更新冗余。使用可擴(kuò)展的插件結(jié)構(gòu),通過插件資源描述文件描述插 件之間的依賴關(guān)系,微內(nèi)核可根據(jù)插件資源配置文件嵌套加載插件資源,擴(kuò)展性很強,實現(xiàn) 了良好的系統(tǒng)結(jié)構(gòu)。微內(nèi)核在加載插件時,自動判斷插件版本、下載插件資源,實現(xiàn)了系統(tǒng) 升級的自動化,無需要用戶協(xié)助。


圖1為本發(fā)明基于插件的程序更新系統(tǒng)結(jié)構(gòu)圖;圖2為本發(fā)明基于插件的程序更新系統(tǒng)執(zhí)行程序更新的流程圖;圖3為本發(fā)明加載子插件的插件加載流程圖。
具體實施例方式本發(fā)明的基本思想是程序應(yīng)用的業(yè)務(wù)邏輯基于插件來實現(xiàn),使用插件資源配置 文件描述組成程序應(yīng)用的插件所依賴的資源信息,在程序應(yīng)用運行時,由微內(nèi)核依據(jù)插件 資源配置文件加載所需插件。此外為了保證程序應(yīng)用的版本為最新,所述微內(nèi)核在依據(jù)插 件資源配置文件加載插件時,首先從服務(wù)器端下載最新版本的插件資源配置文件,并根據(jù) 最新版本的插件資源配置文件從服務(wù)器端下載該插件所依賴的資源。當(dāng)程序應(yīng)用基于多個 插件實現(xiàn)時,所述插件資源配置文件還用于描述插件之間的依賴關(guān)系,一個插件還可依賴于一個或多個子插件,所述微內(nèi)核先加載上層插件,后加載子插件,先加載的插件先提供服 務(wù),后加載的插件后提供服務(wù),每加載成功一個插件用戶即可使用該插件提供的服務(wù),減少 用戶等待時間,改善了用戶體驗。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下舉實施例并參照附圖,對 本發(fā)明進(jìn)一步詳細(xì)說明。圖1為本發(fā)明基于微內(nèi)核插件化的程序應(yīng)用系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)包括程序應(yīng)用、 插件版本控制服務(wù)器、資源下載服務(wù)器。插件版本控制服務(wù)器,用于控制插件資源配置文件的版本,在插件版本控制服務(wù) 器中存儲有當(dāng)前各插件對應(yīng)的插件資源配置文件的最新版本號,所述插件資源配置文件用 于描述插件依賴的資源,本發(fā)明一具體實施例中,將插件資源配置文件與個性化邏輯對應(yīng), 一個插件資源配置文件描述一種個性化邏輯所依賴的資源,所述資源包括動態(tài)鏈接庫、多 媒體支持文件等。資源下載服務(wù)器,用于提供插件資源配置文件及插件所依賴資源的下載;微內(nèi)核,為程序應(yīng)用的核心模塊,用于依據(jù)插件資源配置文件加載所需插件;還用 于向插件版本控制服務(wù)器發(fā)送版本查詢請求,根據(jù)插件版本控制服務(wù)器返回的插件資源配 置文件的最新版本號判斷本地插件版本是否為最新,若不是最新,則向資源下載服務(wù)器發(fā) 送下載插件資源配置文件請求,在接收到資源下載服務(wù)器返回的最新的插件資源配置文件 后,對其解析,從資源下載服務(wù)器下載插件資源配置文件中指示插件所依賴的資源。所述微內(nèi)核包括插件加載器、插件版本控制組件、資源下載組件;插件加載器,用于依據(jù)插件資源配置文件加載插件;還用于在微內(nèi)核初始運行時 向插件版本控制組件查詢插件資源配置文件的版本;在獲得插件版本控制組件反饋的最新 的插件資源配置文件的版本號后和本地插件資源配置文件的版本號進(jìn)行比對,若本地插件 版本已經(jīng)是最新版本,則直接加載,否則根據(jù)預(yù)置規(guī)則獲得最新的插件資源配置文件的下 載地址,請求資源下載組件下載對應(yīng)的插件資源配置文件,也可由資源下載組件根據(jù)預(yù)置 規(guī)則獲得插件資源配置文件的下載地址后從資源下載服務(wù)器下載對應(yīng)的插件資源配置文 件;所述微內(nèi)核所加載的插件可為一個或多個;插件加載器在獲得最新插件資源配置文件 后還負(fù)責(zé)對其進(jìn)行解析,獲得插件所依賴的資源標(biāo)識和/或資源地址,然后請求資源下載 組件下載對應(yīng)的資源。插件版本控制組件用于向插件版本控制服務(wù)器發(fā)起版本查詢請求,在獲得插件版 本控制服務(wù)器的響應(yīng)后將查詢結(jié)果反饋給插件加載器;資源下載組件用于根據(jù)插件加載器的請求,從資源下載服務(wù)器下載插件資源配置 文件及插件所依賴的資源文件。本發(fā)明另一具體實施例中提供了一種簡化的微內(nèi)核插件化程序應(yīng)用,該程序應(yīng)用 只包含插件資源配置文件、插件所依賴的資源,微內(nèi)核中也不包含插件資源配置文件及插 件所依賴資源的下載邏輯,默認(rèn)上述文件都已下載到本地,則微內(nèi)核可直接加載。該簡化結(jié) 構(gòu)中,微內(nèi)核只包含插件加載器,在程序應(yīng)用運行時,由微內(nèi)核依據(jù)從本地讀取的插件資源 配置文件加載所需插件??蛇x地,本發(fā)明另一具體實施例中,只包含微內(nèi)核和資源下載服務(wù)器,微內(nèi)核在加 載插件時,根據(jù)預(yù)置的規(guī)則,依據(jù)插件標(biāo)識和/或產(chǎn)品名稱獲得對應(yīng)的插件資源配置文件的下載地址,直接到資源下載服務(wù)器上固定的下載地址下載最新的插件資源配置文件,從 而確保每次都使用到最新的版本配置。相應(yīng)地,在微內(nèi)核中也只需要包含插件加載器和資 源下載組件,在微內(nèi)核運行時,直接請求資源下載組件從資源服務(wù)器上下載最新的插件資 源配置文件,省去了通過插件版本控制組件進(jìn)行版本比對的步驟,從而保證了每次運行時, 加載運行的都是最新的插件版本。圖2為本發(fā)明基于插件的程序更新系統(tǒng)執(zhí)行程序更新的流程圖,具體步驟如下步驟201 在微內(nèi)核啟動運行后,插件加載器向插件版本控制組件請求插件版本;步驟202 插件版本控制組件發(fā)送插件版本查詢請求消息給插件版本控制服務(wù) 器,獲取插件的版本;請求消息中攜帶插件標(biāo)識、產(chǎn)品名稱等信息,本發(fā)明一具體實施例中, 一個插件對應(yīng)一種個性化邏輯,通過產(chǎn)品名稱對該插件類型進(jìn)行二級分類;步驟203 插件版本控制組件獲取插件版本成功后將獲取的插件版本號發(fā)送給插 件加載器;步驟204 插件加載器根據(jù)與資源下載服務(wù)器約定的規(guī)則將插件版本號映射為插 件資源配置文件的下載地址,請求資源下載組件下載插件對應(yīng)的插件資源配置文件;步驟205 資源下載組件從資源下載服務(wù)器下載與插件版本對應(yīng)的插件資源配置 文件;步驟206 資源下載組件將下載的插件資源配置文件發(fā)送給插件加載器;步驟207 插件加載器解析插件資源配置文件,獲得插件所依賴的資源的標(biāo)識、下 載地址等信息;插件加載器請求資源下載組件下載對應(yīng)的資源文件;步驟208 資源下載組件從資源下載服務(wù)器下載資源文件;步驟209 資源下載組件將下載的資源文件反饋給插件加載器,插件加載器加載 所述資源。本發(fā)明中的插件資源配置文件用于描述組成程序應(yīng)用的插件所依賴的資源信息, 插件所依賴的資源信息包括插件信息和資源信息;所述插件信息至少包括插件的名稱、 插件所在動態(tài)鏈接庫、插件標(biāo)識等;所述資源信息至少包括資源文件名稱。本發(fā)明一具體實 施例中,插件資源配置文件使用XML(ExtensibIeMarkup Language,可擴(kuò)展標(biāo)記語言)來描 述插件所依賴的資源,通過XML語言不僅可描述插件本身的屬性,而且還可結(jié)構(gòu)化的描述 插件之間的依賴關(guān)系,本發(fā)明中一個插件可依賴其它子插件而存在。以下為本發(fā)明采用XML 語言的插件資源配置文件的實例< ? xml version = “ 1.0〃 standalone = “ yes" ? ><PluginXML Version = “ 1〃 ><Plugin Name = " flashenginepreinitializer " LibraryName ="FlashEngine. dll"ObjectID = “ 0X00000010〃 ><PrivateConfig>$flashversionlowlimited$
,$flashocxpackagepath$[flashengine\ defaultflashcontro1. zip]</PrivateConfig><Res>
〈Item Priority =" 2" DownloadType = “ KernelZIP“FILE=" FlashEngine. zip" Hash = “ “ Version = “ 1〃 size
="“/></Res><Children)<Plugin Name =" flashengine" LibraryName =" FlashEngine. dll "ObjectID = " OXOFO13001" >< Children)<Plugin Name =" qqpetagent" LibraryName =" QQPetAgent. dll"ObjectID = " 0x00000001〃 ><Res>〈Item Priority =" 2" DownloadType = " KemelZIP"FILE = “ QQPetAgentMain. zip “ Hash = “ “ Version =〃 1〃 size =" “ /></Res></Plugin>〈/Children〉</Plugin>〈/Children〉</Plugin></PluginXML>Plugin標(biāo)簽中的Name屬性定義插件的名字,LibraryName屬性定義插件所在的
庫,ObjectID屬性定義插件在庫中的標(biāo)識ID ;Res標(biāo)簽項定義插件依賴的資源文件,在創(chuàng)建 插件之前需要下載準(zhǔn)備好Res標(biāo)簽中的Item標(biāo)簽所定義的資源;Children標(biāo)簽中可嵌套 定義子插件,在本插件初始化完成后會加載子插件,這反應(yīng)了插件之間的加載關(guān)系和依賴 關(guān)系;PrivateConfig標(biāo)簽用于定義插件的一些配置。圖3為本發(fā)明加載子插件的插件加載流程圖,為了具有通用性,該流程示例根子 插件及根子插件下的子插件的加載流程,根子插件屬于某一上層插件,一個插件可能擁有 多個同層的兄弟插件,也可擁有多個子插件。程序客戶端的微內(nèi)核依據(jù)插件資源配置文件 所描述的插件之間的依賴關(guān)系,嵌套執(zhí)行根插件及其子插件所依賴資源的下載,并在上層 插件資源下載完畢后首先加載上層插件,先加載的插件先提供服務(wù),實現(xiàn)了懶加載的程序 架構(gòu)。子插件加載流程如下步驟301 在插件加載器解析到插件資源配置文件中包含子插件時,開始子插件 加載過程;首先插件加載器請求資源下載組件下載當(dāng)前層級的根子插件所依賴的資源;步驟302 執(zhí)行根子插件的預(yù)初始化和初始化;插件對象的預(yù)初始化不是必須,但預(yù)初始化可提醒插件初始化準(zhǔn)備必要的服務(wù)接 口,便于兄弟節(jié)點使用,而且該方法中可以使用factroy創(chuàng)建子對象。步驟303 將根子插件綁定到上層父插件,即將根子插件集合的指針和父插件關(guān)聯(lián)(在同一個層級可同時包括多個子插件);步驟304 當(dāng)解析到根子插件還包含子插件時,通過跟子插件的接口啟動加載子 插件的流程;步驟305 插件加載器請求資源下載組件下載根子插件的子插件χ的資源;步驟306 初始化和預(yù)初始化子插件χ ;步驟307 將子插件χ綁定到根子插件上;步驟308 如果子插件χ還依賴下一層的子插件,則插件加載器嵌套執(zhí)行子插件的 加載流程。如果同一層級下有多個子插件,則循環(huán)執(zhí)行步驟304至步驟308。本發(fā)明實現(xiàn)了遍歷和尋找插件的服務(wù)接口,具體遍歷插件和尋找插件的方法為 插件初始化函數(shù)被調(diào)用時會獲得父節(jié)點指針,插件加載子節(jié)點后,綁定子插件函數(shù)被調(diào)用 會獲得子插件節(jié)點的指針接口 IChildren,這樣通過接口可以實現(xiàn)所有的插件遍歷。插件 通過插件查詢函數(shù)(Querylnterface)對外提供接口服務(wù),也可以直接繼承于IPlugin,但 IPlugin方式中一個插件只能夠提供一個服務(wù)接口。本發(fā)明一具體實施例中,接口創(chuàng)建和動態(tài)鏈接庫(dll)管理框架基于對象工廠 (factory)模式實現(xiàn),包含三個方法,分別負(fù)責(zé)創(chuàng)建對象,銷毀對象和注冊新dll代替舊 dl 1,本發(fā)明所述插件包含于動態(tài)鏈接庫中。創(chuàng)建對象步驟為(1)調(diào)用系統(tǒng)庫裝載函數(shù)(Loadlibrary)加載dll ;(2)取得創(chuàng)建對象的函數(shù)(CreateObject),該函數(shù)定義在dll中;(3)調(diào)用CreateObject函數(shù),傳入指定的對象標(biāo)識(dwObjectID),創(chuàng)建指定對 象;(4)調(diào)用所創(chuàng)建對象中的方法ktFactory把factory指針傳給創(chuàng)建的對象,使之 可以使用factory的方法。系統(tǒng)使用一個dll中的對象時需要讓factory創(chuàng)建dll文件中的接口,而如 果某一個dll更新,并且文件名變化的話,依賴這個文件名創(chuàng)建某一個接口的庫也需要 重新編譯,因此也就需要重新發(fā)布。本發(fā)明在管理框架中包含一個新dll注冊方法Re gisterNewLibrary,該方法使得被依賴dll重新編譯,并且文件名變化后在接口不變的情 況下,依賴它的dll無需重新編譯,從而減少了重新編譯的庫,減少了系統(tǒng)更新的代價。銷毀對象步驟(1)調(diào)用對象Finalize函數(shù),通知對象做析構(gòu)前的處理;(2)如果是同步析構(gòu)則直接調(diào)用對象的Free方法,析構(gòu)對象;(3)如果是異步析構(gòu)則在下一消息循環(huán)調(diào)用對象的Free方法,析構(gòu)對象。本發(fā)明的插件發(fā)布流程為(1)實現(xiàn)IPlugin接口,生成包含插件的庫文件;(2)為庫文件命名后,將庫文件放到資源下載服務(wù)器;(3)把插件依賴的資源參數(shù),包括名稱、屬性、地址等,添加到插件資源配置文件, 形成新的插件資源配置文件;(4)升級插件版本控制服務(wù)器上的插件版本號或插件資源配置文件的版本號。上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種微內(nèi)核插件化程序應(yīng)用系統(tǒng)的實現(xiàn)方法,其特征在于,包括程序應(yīng)用的業(yè)務(wù)邏輯基于插件來實現(xiàn),使用插件資源配置文件描述組成程序應(yīng)用的插 件所依賴的資源信息,在程序應(yīng)用運行時,由微內(nèi)核依據(jù)插件資源配置文件加載所需插件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述插件所依賴的資源信息包括插件信 息和資源信息;所述插件信息至少包括插件的名稱、插件所在動態(tài)鏈接庫、插件標(biāo)識;所 述資源信息至少包括資源文件名稱。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述程序應(yīng)用基于多個插件實現(xiàn)時,所 述插件資源配置文件還用于描述插件之間的依賴關(guān)系,所述插件信息還包含所述插件依賴 的子插件信息,所述微內(nèi)核先加載上層插件,后加載子插件,先加載的插件先提供服務(wù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述微內(nèi)核在依據(jù)插件資源配置文件加 載插件之前,先從服務(wù)器端下載最新版本的插件資源配置文件,并根據(jù)所述最新版本的插 件資源配置文件從服務(wù)器端下載插件所依賴的資源。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述微內(nèi)核在加載插件之前,先從服務(wù)器 端獲取當(dāng)前插件資源配置文件的最新版本號,當(dāng)依據(jù)所述版本號判定本地的插件資源配置 文件不是最新版本時,再從服務(wù)器端下載最新版本的插件資源配置文件,并根據(jù)所述最新 版本的插件資源配置文件從服務(wù)器端下載插件所依賴資源的最新版本。
6.一種微內(nèi)核插件化程序應(yīng)用系統(tǒng),其特征在于,包括插件資源配置文件,用于描述組成程序應(yīng)用的插件所依賴的資源信息;微內(nèi)核,用于依據(jù)插件資源配置文件加載組成程序應(yīng)用的插件以實現(xiàn)程序應(yīng)用的業(yè)務(wù) 邏輯。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述插件所依賴的資源信息包括插件信 息和資源信息;所述插件信息至少包括插件的名稱、插件所在動態(tài)鏈接庫、插件標(biāo)識;所 述資源信息至少包括資源文件名稱。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,當(dāng)所述應(yīng)用程序基于多個插件實現(xiàn)時,所 述插件資源配置文件還用于描述插件之間的關(guān)系,所述插件信息還包含所述插件依賴的子 插件信息,所述微內(nèi)核先加載上層插件,后加載子插件,先加載的插件先提供服務(wù)。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括資源下載服務(wù)器,用于根據(jù)微內(nèi)核的下載請求提供插件資源配置文件及插件所依賴資 源的下載;所述微內(nèi)核包括資源下載組件和插件加載器;資源下載組件,用于根據(jù)插件加載器的請求,從資源下載服務(wù)器下載最新的插件資源 配置文件及插件所依賴的資源;插件加載器,用于解析插件資源配置文件,并根據(jù)插件資源配置文件加載插件。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括插件版本控制服務(wù)器,用于控制插件資源配置文件的版本號;所述微內(nèi)核還包括插件版本控制組件,用于根據(jù)插件加載器的請求向插件版本控制 服務(wù)器發(fā)送版本查詢請求,獲取最新版本的插件資源配置文件版本號,當(dāng)本地的插件資源 配置文件的版本不是最新版本時,所述微內(nèi)核請求資源下載組件下載最新的插件資源配置 文件。
全文摘要
本發(fā)明公開了一種微內(nèi)核插件化程序應(yīng)用系統(tǒng)及其實現(xiàn)方法,用于解決現(xiàn)有軟件架構(gòu)方式下,軟件更新效率低、冗余度大等技術(shù)問題。本發(fā)明實現(xiàn)了一個友好的基于插件的軟件更新系統(tǒng),軟件更新時以插件為單位作為更新邏輯單元,減少了更新冗余。使用可擴(kuò)展的插件結(jié)構(gòu),通過插件資源描述文件描述插件之間的依賴關(guān)系,微內(nèi)核可根據(jù)插件資源配置文件嵌套加載插件資源,擴(kuò)展性強。微內(nèi)核依據(jù)插件資源配置文件先下載并加載包含關(guān)鍵功能的根插件,再下載并加載根插件所依賴的子插件,先加載的插件先使用,提升了用戶體驗。本發(fā)明實現(xiàn)了自動化插件版本判斷、插件的自動下載及基于插件的懶加載程序架構(gòu),實現(xiàn)了系統(tǒng)升級的自動化。
文檔編號G06F9/445GK102141922SQ201010106229
公開日2011年8月3日 申請日期2010年1月29日 優(yōu)先權(quán)日2010年1月29日
發(fā)明者唐聲福, 夏蕾, 張欣, 李建峰, 歐陽江平, 陳天民, 陳月璇, 黃軍, 黃朝興 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长海县| 手机| 塔城市| 清苑县| 宽城| 儋州市| 五河县| 贵港市| 越西县| 吕梁市| 呼和浩特市| 敦煌市| 会泽县| 台东市| 阜新| 锡林浩特市| 大渡口区| 庆云县| 黔南| 辽阳县| 九江市| 太保市| 张掖市| 祁阳县| 江口县| 郸城县| 高安市| 福鼎市| 呼玛县| 庆城县| 赣州市| 奉节县| 南汇区| 田林县| 会理县| 剑河县| 修武县| 泸州市| 洪湖市| 新乡县| 顺平县|