專利名稱:在瀏覽器上實(shí)現(xiàn)的開放式插件管理平臺(tái)及插件管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及插件管理技木,尤其涉及ー種在智能終端瀏覽器上實(shí)現(xiàn)的開放式插件管理平臺(tái)及插件管理方法。
背景技術(shù):
智能終端指具有智能操作系統(tǒng),可以安裝由第三方服務(wù)商提供的程序,通過此類程序來提供各種功能的ー類終端設(shè)備的總稱。比如現(xiàn)在流行的各種智能手機(jī)終端,基于不同的智能操作系統(tǒng),目前比較流行的是Android平臺(tái),可以如電腦ー樣隨心所欲地安裝第三方服務(wù)商提供的各種程序。瀏覽器指Web或WAP的客戶端瀏覽程序。智能終端通過瀏覽器可向Web或WAP服務(wù)器發(fā)送各種請(qǐng)求,并對(duì)從Web或WAP服務(wù)器發(fā)來的超文本信息和各種多媒體數(shù)據(jù)格式進(jìn)行解釋、顯示和播放。插件指遵循用戶服務(wù)或業(yè)務(wù)應(yīng)用規(guī)范的應(yīng)用程序接ロ所編寫出來的程序。安裝插件后,瀏覽器能夠通過直接調(diào)用插件,對(duì)與插件對(duì)應(yīng)的服務(wù)或業(yè)務(wù)應(yīng)用進(jìn)行處理。目前智能終端越來越普及,用戶用智能終端借助瀏覽器上網(wǎng)的需求也越來越多,由于上網(wǎng)時(shí)瀏覽器是通過直接調(diào)用插件對(duì)與插件對(duì)應(yīng)的服務(wù)或業(yè)務(wù)應(yīng)用進(jìn)行處理,而各種服務(wù)或業(yè)務(wù)應(yīng)用的插件種類和數(shù)量上都比較多,造成瀏覽器直接與插件交互時(shí)在實(shí)現(xiàn)諸如識(shí)別、加載、更新、安全認(rèn)證等具體管理時(shí)需花費(fèi)大量時(shí)間,而上網(wǎng)大量時(shí)間的占用意味著網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)流量的浪費(fèi),因此,迫切需要ー種在智能終端瀏覽器上實(shí)現(xiàn)的插件管理方案,對(duì)插件進(jìn)行有效的管理再適配給瀏覽器調(diào)用,以節(jié)約網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)流量。然而,目前并未有這樣的技術(shù)方案。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供ー種在瀏覽器上實(shí)現(xiàn)的開放式插件管理平臺(tái)及插件管理方法,能對(duì)各種服務(wù)或業(yè)務(wù)應(yīng)用的插件進(jìn)行管理,方便用戶使用智能終端借助瀏覽器實(shí)現(xiàn)的各種服務(wù)和業(yè)務(wù)應(yīng)用功能,且節(jié)約網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)流量。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的ー種在瀏覽器上實(shí)現(xiàn)的開放式插件管理平臺(tái),所述插件管理平臺(tái)在瀏覽器主進(jìn)程中實(shí)現(xiàn),所述插件管理平臺(tái)用于作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器 的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。其中,所述插件管理平臺(tái)具體包括插件引擎、插件行為管理単元、插件適配単元、服務(wù)單元、事件及消息處理單元及插件接ロ ;其中,所述插件引擎,為插件管理平臺(tái)與瀏覽器間交互的接ロ ;所述插件行為管理単元,用于對(duì)插件的各種具體行為進(jìn)行管理;所述插件適配單元,用于瀏覽器借助插件管理平臺(tái)與插件交互時(shí),雙向轉(zhuǎn)換瀏覽器和插件之間交互的事件和消息格式;所述服務(wù)単元,用于使插件能通過服務(wù)単元直接使用瀏覽器提供的Π服務(wù)和網(wǎng)絡(luò)服務(wù);所述事件及消息處理單元,用于對(duì)經(jīng)插件適配単元處理過格式的事件及消息進(jìn)行統(tǒng)ー處理,所述處理包括事件及消息的分發(fā),事件及消息的封裝,并提供給對(duì)應(yīng)的事件調(diào)度、注冊(cè)管理及消息廣播功能應(yīng)用;所述插件接ロ為插件管理平臺(tái)與插件間交互的接ロ。其中,所述各種具體行為包括插件識(shí)別、插件加載/插件卸載、插件版本管理、插件安全認(rèn)證、插件安裝升級(jí)、或插件能力管理。其中,所述服務(wù)単元,進(jìn)ー步包括插件用戶界面(UI)服務(wù)模塊和網(wǎng)絡(luò)服務(wù)模塊;其中,所述插件UI服務(wù)模塊,用于使插件能直接使用瀏覽器提供的UI服務(wù),快速搭建插 件所需要的UI ;所述網(wǎng)絡(luò)服務(wù)模塊,用于使插件能直接使用瀏覽器提供的網(wǎng)絡(luò)服務(wù),快速運(yùn)行插件所需要的網(wǎng)絡(luò)運(yùn)行環(huán)境。其中,所述插件行為管理単元,進(jìn)ー步包括識(shí)別模塊、加載/卸載模塊、版本管理模塊、安全認(rèn)證模塊、安裝升級(jí)模塊和能力管理模塊;其中,所述識(shí)別模塊,用于自動(dòng)識(shí)別請(qǐng)求加載的插件;所述加載/卸載模塊,用于自動(dòng)加載插件或卸載插件;所述版本管理模塊,用于管理插件版本,將瀏覽器本地存儲(chǔ)的插件版本信息與請(qǐng)求加載的插件的插件版本信息進(jìn)行比較;所述安全認(rèn)證模塊,用于對(duì)插件進(jìn)行安全認(rèn)證;所述安裝升級(jí)模塊,用于對(duì)插件進(jìn)行安裝升級(jí);所述能力管理模塊,用于對(duì)插件的能力進(jìn)行管理,所述能力包括插件的網(wǎng)絡(luò)能力和插件的Π能力。ー種在瀏覽器上實(shí)現(xiàn)的開放式插件管理方法,該方法包括在瀏覽器主進(jìn)程中實(shí)現(xiàn)的插件管理平臺(tái),作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。其中,所述對(duì)插件進(jìn)行管理包括已安裝的插件被所述插件管理平臺(tái)自動(dòng)識(shí)別出來,在觸發(fā)插件加載條件且通過插件管理平臺(tái)的安全認(rèn)證后,所述插件被自動(dòng)加載。其中,所述對(duì)插件進(jìn)行管理還包括所述瀏覽器啟動(dòng)時(shí),通過所述插件管理平臺(tái)查詢是否需要更新插件版本信息,當(dāng)需要更新時(shí),將更新的版本信息存儲(chǔ)在瀏覽器本地;當(dāng)瀏覽器通過插件管理平臺(tái)獲取插件加載請(qǐng)求時(shí),通過插件管理平臺(tái)將要加載的插件的插件版本信息與瀏覽器本地的插件版本信息進(jìn)行版本比較和實(shí)現(xiàn)安全認(rèn)證,通過安全認(rèn)證后瀏覽器通過插件管理平臺(tái)自動(dòng)加載所述插件;當(dāng)所述插件需要退出時(shí),通過插件管理平臺(tái)發(fā)送退出請(qǐng)求,并卸載所述插件。本發(fā)明的插件管理平臺(tái)在瀏覽器主進(jìn)程中實(shí)現(xiàn),插件管理平臺(tái)用于作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。采用本發(fā)明,瀏覽器不是直接調(diào)用插件,而是借助插件管理平臺(tái)與插件進(jìn)行交互,由插件管理平臺(tái)實(shí)現(xiàn)諸如識(shí)別、加載、更新等具體管理行為,對(duì)插件進(jìn)行有效的管理再適配給瀏覽器調(diào)用,從而無需占用上網(wǎng)大量時(shí)間,因而節(jié)約了網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)流量。
圖I為本發(fā)明的瀏覽器與插件管理平臺(tái)及插件的關(guān)系示意圖;圖2為本發(fā)明實(shí)施例一的插件管理平臺(tái)結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例ニ的插件管理方法實(shí)現(xiàn)流程示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是插件管理平臺(tái)在瀏覽器主進(jìn)程中實(shí)現(xiàn),插件管理平臺(tái)用于作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。本發(fā)明優(yōu)選的應(yīng)用領(lǐng)域是移動(dòng)終端的瀏覽器,通過插件管理平臺(tái)管理插件,而不是直接采用瀏覽器與插件交互,能節(jié)約流量,加快瀏覽器的瀏覽速度。 下面結(jié)合附圖對(duì)技術(shù)方案的實(shí)施作進(jìn)ー步的詳細(xì)描述。ー種在瀏覽器上實(shí)現(xiàn)的開放式插件管理平臺(tái),如圖I所示,插件管理平臺(tái)在瀏覽器主進(jìn)程中實(shí)現(xiàn),作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。插件管理平臺(tái)可以理解為對(duì)插件提供識(shí)別、安全認(rèn)證、版本管理、加載/卸載、安裝升級(jí)等一系列管理的平臺(tái)。其中,所述插件也可以稱為瀏覽器插件,插件的類型包括服務(wù)插件和業(yè)務(wù)應(yīng)用插件。其中,所述服務(wù)插件是為瀏覽器提供服務(wù)的,例如存儲(chǔ)服務(wù),網(wǎng)絡(luò)服務(wù)等,一般是沒有界面的,不是具體的產(chǎn)品或是業(yè)務(wù),用戶通常不直接和服務(wù)插件交互,服務(wù)插件的客戶是瀏覽器和業(yè)務(wù)插件;而所述業(yè)務(wù)插件是指具體的ー個(gè)產(chǎn)品插件,比如QQ,QQ音樂等,業(yè)務(wù)插件是直接和用戶交互的,業(yè)務(wù)插件的客戶是用戶。這里需要指出的是文中的“插件”,未明確指出是業(yè)務(wù)應(yīng)用插件還是服務(wù)插件,代表業(yè)務(wù)應(yīng)用插件和服務(wù)插件統(tǒng)稱,包括這兩種類型的插件,不作贅述。這里,使用插件管理平臺(tái)實(shí)現(xiàn)的管理功能包括針對(duì)加載的應(yīng)用場景而言,通過在瀏覽器主進(jìn)程中實(shí)現(xiàn)的插件管理平臺(tái),與承載的各種業(yè)務(wù)應(yīng)用插件和服務(wù)插件進(jìn)行交互,已安裝的插件被插件管理平臺(tái)自動(dòng)識(shí)別出來,在觸發(fā)插件加載條件且插件通過管理平臺(tái)的安全認(rèn)證后,插件被自動(dòng)加載,從而方便的實(shí)現(xiàn)諸如識(shí)別、加載、安全認(rèn)證等具體管理功能,這樣瀏覽器調(diào)用插件,瀏覽器的功能和業(yè)務(wù)即可被方便的擴(kuò)展和增強(qiáng)。這里,插件管理平臺(tái)主要包括插件引擎、插件行為管理単元、插件適配単元、服務(wù)単元、事件及消息處理單元及插件接ロ。以下對(duì)插件管理平臺(tái)的各個(gè)單元進(jìn)行闡述。其中,插件引擎為插件管理平臺(tái)與瀏覽器間交互的接ロ。插件行為管理単元,用于對(duì)插件的各種具體行為進(jìn)行管理。各種具體行為諸如插件識(shí)別、插件加載/插件卸載、插件版本管理、插件安全認(rèn)證、插件安裝升級(jí)、插件能力管理
坐寸ο插件適配単元,用于瀏覽器借助插件管理平臺(tái)與插件交互時(shí),雙向轉(zhuǎn)換瀏覽器和插件之間交互的事件和消息格式,創(chuàng)建插件在瀏覽器中的運(yùn)行環(huán)境。服務(wù)單元,用于使插件能通過服務(wù)単元直接使用瀏覽器提供的UI服務(wù)和網(wǎng)絡(luò)服務(wù)。其中,針對(duì)Π服務(wù)而言,Π服務(wù)指用戶界面服務(wù),UI以User Interface表示,Π服務(wù)指針對(duì)軟件的人機(jī)交互、操作邏輯、界面美觀的整體服務(wù)設(shè)計(jì),由于能直接使用瀏覽器提供的UI服務(wù),因此,能快速搭建插件所需要的UI,讓軟件的用戶界面變得有個(gè)性有品味,同時(shí)讓軟件的操作變得舒適、簡単、自由。而針對(duì)網(wǎng)絡(luò)服務(wù)而言,由于能直接使用瀏覽器提供的網(wǎng)絡(luò)服務(wù),而無需關(guān)注底層應(yīng)用,即具體的網(wǎng)絡(luò)管理及網(wǎng)絡(luò)信號(hào)強(qiáng)度等因素,因此,能快速運(yùn)行插件所需要的網(wǎng)絡(luò)運(yùn)行環(huán)境,節(jié)約網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)流量。事件及消息處理單元,用于對(duì)經(jīng)插件適配単元處理過格式的事件及消息進(jìn)行統(tǒng)一處理。處理包括事件及消息的分發(fā),事件及消息的封裝,并提供給對(duì)應(yīng)的事件調(diào)度、注冊(cè)管理及消息廣播功能應(yīng)用。插件接ロ為插件管理平臺(tái)與插件間交互的接ロ。這里需要指出的是插件管理平臺(tái)的各個(gè)單元中所實(shí)現(xiàn)的上述功能,可以將ー個(gè)単元的多個(gè)功能用一個(gè)功能模塊的形式實(shí)現(xiàn),也可以將ー個(gè)單元的多個(gè)功能分別對(duì)應(yīng)ー個(gè)具體功能模塊的形式實(shí)現(xiàn),這樣的好處是功能分隔,獨(dú)立封裝和運(yùn)作,如果插件要用到那個(gè)功能,則直接使用對(duì)應(yīng)的具體功能模塊,能提高效率,也有利于數(shù)據(jù)的分文別類存儲(chǔ)及數(shù) 據(jù)的讀取。例如,可以將插件行為管理単元分為多個(gè)具體功能模塊用于插件自動(dòng)識(shí)別的識(shí)別模塊、用于插件自動(dòng)加載和卸載的加載/卸載模塊、用于方便構(gòu)造各種消息方法的消息エ廠模塊、用于插件版本管理的版本管理模塊、用于插件安全認(rèn)證的安全認(rèn)證模塊、用于插件安裝升級(jí)的安裝升級(jí)模塊和用于插件能力管理的能力管理模塊。其中,能力管理模塊主要包括插件的網(wǎng)絡(luò)能力和插件的Π能力。ー種在瀏覽器上實(shí)現(xiàn)的開放式插件管理方法,該方法包括主要包括以下內(nèi)容在瀏覽器主進(jìn)程中實(shí)現(xiàn)的插件管理平臺(tái),作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。這里,對(duì)插件進(jìn)行管理包括已安裝的插件被插件管理平臺(tái)自動(dòng)識(shí)別出來,在觸發(fā)插件加載條件且通過插件管理平臺(tái)的安全認(rèn)證后,插件被自動(dòng)加載。這里,對(duì)插件進(jìn)行管理還包括瀏覽器啟動(dòng)時(shí),通過插件管理平臺(tái)查詢是否需要更新插件版本信息,當(dāng)需要更新時(shí),將更新的版本信息存儲(chǔ)在瀏覽器本地;當(dāng)瀏覽器通過插件管理平臺(tái)獲取插件加載請(qǐng)求時(shí),通過插件管理平臺(tái)將要加載的插件的插件版本信息與瀏覽器本地的插件版本信息進(jìn)行版本比較和實(shí)現(xiàn)安全認(rèn)證,通過安全認(rèn)證后瀏覽器通過插件管理平臺(tái)自動(dòng)加載該插件;當(dāng)該插件需要退出時(shí),通過插件管理平臺(tái)發(fā)送退出請(qǐng)求,并卸載該插件。綜上所述,本發(fā)明的基于智能終端瀏覽器的開放式插件管理平臺(tái)及管理方法,不僅保留了現(xiàn)有瀏覽器通用性好,標(biāo)準(zhǔn)規(guī)范,很強(qiáng)的機(jī)型適配能力等優(yōu)點(diǎn),而且,同時(shí)通過借助插件管理平臺(tái)實(shí)現(xiàn)插件管理的模式可以迅速開發(fā)出多種服務(wù)和業(yè)務(wù)應(yīng)用插件,來獲取更好的用戶體驗(yàn)(如UI設(shè)計(jì)),更省的網(wǎng)絡(luò)流量,更高的安全性,更強(qiáng)大的功能擴(kuò)展性等優(yōu)點(diǎn)。在移動(dòng)互聯(lián)網(wǎng)帶寬和資源有限的情況下可以節(jié)省流量是十分有價(jià)值的,而高的安全性保護(hù),對(duì)用戶隱私保障和提供的用戶移動(dòng)支付保障也是意義重大的。實(shí)施例一ー插件管理平臺(tái)的應(yīng)用實(shí)例,該插件管理平臺(tái)中的各個(gè)功能単元是以多個(gè)具體功能模塊分隔的。如圖2所示,本實(shí)施例的插件管理平臺(tái)包括插件引擎、插件行為管理単元、插件適配単元、服務(wù)單元、事件及消息處理單元及插件接ロ。其中,插件行為管理単元包括識(shí)別模塊、加載/卸載模塊、版本管理模塊、安全認(rèn)證模塊、安裝升級(jí)模塊和能力管理模塊。服務(wù)單元包括插件Π服務(wù)模塊和網(wǎng)絡(luò)服務(wù)模塊。事件及消息處理單元包括事件調(diào)度模塊、注冊(cè)廣播管理模塊和統(tǒng)一通信模塊。以下對(duì)圖2中各個(gè)具體功能模塊進(jìn)行說明。針對(duì)服務(wù)單元而言,插件(包括服務(wù)插件和業(yè)務(wù)應(yīng)用插件兩種類型)通過插件接ロ,可以訪問服務(wù)單元,服務(wù)單元直接為插件提供基于瀏覽器的插件Π服務(wù)和網(wǎng)絡(luò)服務(wù),分別通過插件Π服務(wù)模塊和網(wǎng)絡(luò)服務(wù)模塊實(shí)現(xiàn)。插件通過插件Π服務(wù)模塊可以直接使用基于瀏覽器提供的UI服務(wù),快速搭建插件所需要的UI ;而插件通過網(wǎng)絡(luò)服務(wù)模塊可以直接使用基于瀏覽器提供的網(wǎng)絡(luò)服務(wù),方便地訪問網(wǎng)絡(luò)服務(wù),而不需要關(guān)注網(wǎng)絡(luò)的管理和移動(dòng)網(wǎng)絡(luò)信號(hào)等底層應(yīng)用問題。針對(duì)插件接ロ而言,插件需要派生和實(shí)現(xiàn)插件接ロ,即可得到插件管理平臺(tái)的支持。插件通過插件接ロ訪問服務(wù)單元,以直接使用基于瀏覽器所提供的服務(wù),如UI服務(wù)和網(wǎng)絡(luò)服務(wù)等,這種僅訪問服務(wù)單元而直接使用瀏覽器所提供服務(wù)的模式,從而能大大增強(qiáng)模塊(服務(wù)單元)的復(fù)用,減少各個(gè)插件的開發(fā)時(shí)間。插件還可以查詢服務(wù)單元能提供哪些可用的服務(wù),以便很好的向后兼容。各個(gè)插件通過插件接口和瀏覽器通信和交互,實(shí)現(xiàn)開放統(tǒng)ー的處理流程。其中,針對(duì)所述向后兼容而言,向后兼容又稱為向下兼容,是ー個(gè)以部件標(biāo)準(zhǔn)為基礎(chǔ)的性能要求,是最新的標(biāo)準(zhǔn)規(guī)范,向后兼容的組件既要符合其所屬分類的性能要求,同時(shí)也要符合低于其分類的所有性能要求。比如USB 2. O規(guī)范是可以向后兼容版本更低的USB I. I標(biāo)準(zhǔn)的。針對(duì)事件及消息處理單元而言,對(duì)經(jīng)插件適配單元處理過格式的事件及消息進(jìn)行統(tǒng)ー處理,可以通過事件接ロ、通知接ロ /廣播接ロ和注冊(cè)接ロ等將事件及消息提供給對(duì) 應(yīng)的事件調(diào)度、消息廣播及注冊(cè)管理應(yīng)用功能,當(dāng)消息或事件產(chǎn)生,插件管理平臺(tái)會(huì)派發(fā)或廣播到相應(yīng)的插件。統(tǒng)ー通信模塊是插件和瀏覽器交互的主程序模塊,實(shí)現(xiàn)二者交互時(shí)事件及消息開放式的統(tǒng)ー處理流程,以及擴(kuò)展應(yīng)用之間的進(jìn)程間通信(IPC)通信,統(tǒng)ー通信模塊均采用統(tǒng)一的通信接ロ,接ロ還提供了自動(dòng)化的數(shù)據(jù)封裝格式和方法,以提高接ロ擴(kuò)展性和通用性。此外該統(tǒng)一通信模塊還提供了通信緩存機(jī)制,以處理大量產(chǎn)生的并發(fā)通信請(qǐng)求,提高了通信系統(tǒng)的穩(wěn)定性和可靠性。針對(duì)插件適配單元而言,在插件和瀏覽器之間提供接ロ適配服務(wù),主要功能是雙向轉(zhuǎn)換瀏覽器和插件之間的事件和消息格式等。針對(duì)識(shí)別模塊而言,自動(dòng)識(shí)別已安裝的插件。針對(duì)加載/加載模塊而言,負(fù)責(zé)加載或卸載指定的插件。其中,在卸載時(shí)的管理為當(dāng)插件不再被使用,達(dá)到卸載條件后,卸載模塊會(huì)自動(dòng)卸載該插件,提供同步和異步兩種卸載模式。其中,所述同步卸載模式是指立即卸載;而所述異步卸載模式是指把卸載請(qǐng)求發(fā)送到插件管理平臺(tái),由插件管理平臺(tái)決定在后續(xù)的一定條件下回收和卸載插件。針對(duì)版本管理模塊而言,插件和瀏覽器各自獨(dú)立升級(jí)和開發(fā),通過版本管理模塊智能判斷版本的兼容性。在實(shí)現(xiàn)版本管理時(shí)的管理包括情況I:未安裝插件,則提示安裝;情況ニ已安裝低版本但是兼容的插件,提示用戶升級(jí)插件;情況三已安裝不兼容的低版本插件,則強(qiáng)制升級(jí)。針對(duì)安裝升級(jí)模塊而言,在版本管理的基礎(chǔ)上,提供便利的安裝升級(jí)服務(wù),插件可以方便的通過插件管理平臺(tái)提供的安裝API更新到最新版本。針對(duì)安全認(rèn)證模塊而言,通過ID認(rèn)證,密鑰校驗(yàn)等技術(shù),鑒別安全的插件,排除惡意插件被加載和替換,保證用戶的安全性。針對(duì)能力管理模塊而言,插件被分為多種不同類型的插件,如系統(tǒng)服務(wù)插件,應(yīng)用服務(wù)插件,UI類插件,窗ロ類插件等,針對(duì)不同插件,瀏覽器會(huì)提供不同的服務(wù)和支持,所以插件能力的管理模塊是負(fù)責(zé)維護(hù)插件能力狀態(tài)的,能力狀態(tài)主要包括UI和網(wǎng)絡(luò)能力的狀態(tài)。這里需要指出的是從跨平臺(tái)設(shè)計(jì)的角度考慮,為了使插件開發(fā)具備良好的擴(kuò)展性和可移植性,各智能終端平臺(tái)可以均采用相同的架構(gòu)來實(shí)現(xiàn)插件管理平臺(tái)。此時(shí),為了滿足跨平臺(tái)要求,即采用相同的架構(gòu),需要確保以下設(shè)計(jì)指標(biāo)的一致性指標(biāo)al、插件管理平臺(tái)的分層設(shè)計(jì)和模塊劃分保證嚴(yán)格一致。
指標(biāo)a2、插件管理平臺(tái)內(nèi)部的數(shù)據(jù),協(xié)議和命令的定義保持完全一致。指標(biāo)a3、插件接ロ設(shè)計(jì)要兼容各個(gè)平臺(tái)各自的特性,例如Π接口和事件接ロ。以降低各平臺(tái)的插件的開發(fā)門檻。指標(biāo)a4、在指標(biāo)a3的基礎(chǔ)上,其他的平臺(tái)無關(guān)的接ロ設(shè)計(jì)成一致,保證最大可能的插件設(shè)計(jì)的一致性。指標(biāo)a5、各個(gè)平臺(tái)的插件適配層需要很好的設(shè)計(jì),可以很好的滿足插件管理平臺(tái)接口和插件接ロ的無縫轉(zhuǎn)換和銜接。由于各個(gè)平臺(tái)的插件管理是統(tǒng)ー實(shí)現(xiàn)的,而插件接ロ可能各自不同,所以需要適配層做雙向的轉(zhuǎn)化工作,需要滿足轉(zhuǎn)換的效率高,可靠性好,兼容性高。這里需要指出的是從擴(kuò)展性和兼容性設(shè)計(jì)的角度考慮,需要確保以下設(shè)計(jì)指標(biāo)的實(shí)現(xiàn)指標(biāo)bl、良好的后臺(tái)控制和同步機(jī)制,保證插件和瀏覽器版本間的兼容性。通過推薦升級(jí),強(qiáng)制升級(jí)等方法,保證整個(gè)系統(tǒng)的良好兼容性。指標(biāo)b2、所有服務(wù)接ロ,事件接口和通信接ロ均采用良好的擴(kuò)展性設(shè)計(jì)。針對(duì)指標(biāo)b2具體來說i)、服務(wù)接ロ通過類似COM接ロ定義,插件可以通過查詢目前所提供的可用系統(tǒng)服務(wù)來完成邏輯操作并保證兼容性。ii)、插件和插件管理平臺(tái)均提供擴(kuò)展和查詢接ロ,完成兼容性認(rèn)證,如提供版本查詢,能力查詢和安全認(rèn)證,并在此基礎(chǔ)上進(jìn)行交互和通信。iii)、通過設(shè)計(jì)統(tǒng)ー的自動(dòng)化的通信和序列化模塊,保證良好的擴(kuò)展性和兼容性,增刪ー個(gè)命令或數(shù)據(jù)結(jié)構(gòu)不需要修改任何已有程序,并自動(dòng)向前向后兼容。iv)通過在各個(gè)接ロ設(shè)計(jì)并預(yù)留了萬能接ロ保證良好的擴(kuò)展性。V)、各個(gè)通信和命令通過集中管理通信ID和動(dòng)態(tài)分配命令字的方式,完美解決了插件之間的沖突和升級(jí)問題。指標(biāo)b3、服務(wù)器端還可通過配置插件信息完成對(duì)插件的管理,如升級(jí),啟用或禁用
坐寸ο指標(biāo)b4、服務(wù)端還可以通過配置并推送插件安裝或升級(jí)包,達(dá)到擴(kuò)展功能的效果。這里需要指出的是從插件的開發(fā)的角度考慮,插件的開發(fā)主要有以下三種形式I)從已有的普通插件改寫成瀏覽器通用插件。此時(shí),開發(fā)者僅需要繼承插件接ロ并實(shí)現(xiàn)幾個(gè)必要的接ロ實(shí)現(xiàn)即可,如版本查詢接ロ,安全認(rèn)證接ロ和通信接ロ。瀏覽器需要通過這幾個(gè)接ロ知道插件的類型版本和安全等信息,提供相應(yīng)的管理和支持。2)從已有的客戶端應(yīng)用程序基礎(chǔ)上改寫成插件。此時(shí),開發(fā)者除需要完成I)所述的工作外,僅需完成對(duì)程序類型的修改,即從app改成dll。3)全新開發(fā)瀏覽器插件。此時(shí),開發(fā)者首先創(chuàng)建ー個(gè)dll類型的工程,實(shí)現(xiàn)插件接ロ并添加必要的接ロ實(shí)現(xiàn),另外加上插件所需的UI設(shè)計(jì),邏輯控制等。由于插件管理平臺(tái)在設(shè)計(jì)時(shí)考慮了通用性和可移植性,在各種不同智能終端平臺(tái)上的設(shè)計(jì)可兼容的插件接ロ。所以可以快速的改寫或開發(fā)出插件。
實(shí)施例ニ借助插件管理平臺(tái)實(shí)現(xiàn)包括識(shí)別,版本比較,安全認(rèn)證,加載和卸載等管理功能的插件使用流程實(shí)例。如圖3所示,包括以下步驟步驟101、瀏覽器啟動(dòng)時(shí),瀏覽器通過插件管理平臺(tái)查詢是否需要更新插件版本信息,如果是,則執(zhí)行步驟102 ;否則,執(zhí)行步驟103。這里,本步驟通過插件管理平臺(tái)實(shí)現(xiàn)具體查詢操作時(shí),可以由插件行為管理単元與版本管理模塊間的交互實(shí)現(xiàn)。步驟102、更新插件版本信息,將更新的版本信息同步到瀏覽器本地存儲(chǔ)。步驟103、返回?zé)o需更新插件版本信息給瀏覽器。步驟104、瀏覽器通過插件管理平臺(tái)獲取插件加載請(qǐng)求。步驟105、當(dāng)瀏覽器通過插件管理平臺(tái)獲取插件加載請(qǐng)求時(shí),通過插件管理平臺(tái)將要加載的插件的插件版本信息與瀏覽器本地的插件版本信息進(jìn)行版本比較和實(shí)現(xiàn)安全認(rèn)證。這里,本步驟實(shí)現(xiàn)具體安全認(rèn)證的操作時(shí),可以由插件行為管理単元與安全認(rèn)證模塊間的交互實(shí)現(xiàn)。步驟106、通過安全認(rèn)證后瀏覽器通過插件管理平臺(tái)自動(dòng)加載該插件。步驟107、當(dāng)該插件需要退出時(shí),通過插件管理平臺(tái)的插件接ロ發(fā)送退出請(qǐng)求(可以表示為ECMDExit命令),插件管理平臺(tái)會(huì)自動(dòng)根據(jù)當(dāng)前引用情況以同步卸載或異步卸載的模式卸載掉該插件。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.ー種在瀏覽器上實(shí)現(xiàn)的開放式插件管理平臺(tái),其特征在于,所述插件管理平臺(tái)在瀏覽器主進(jìn)程中實(shí)現(xiàn),所述插件管理平臺(tái)用于作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。
2.根據(jù)權(quán)利要求I所述的平臺(tái),其特征在于,所述插件管理平臺(tái)具體包括插件引擎、插件行為管理単元、插件適配単元、服務(wù)單元、事件及消息處理單元及插件接ロ ;其中, 所述插件引擎,為插件管理平臺(tái)與瀏覽器間交互的接ロ ; 所述插件行為管理単元,用于對(duì)插件的各種具體行為進(jìn)行管理; 所述插件適配單元,用于瀏覽器借助插件管理平臺(tái)與插件交互時(shí),雙向轉(zhuǎn)換瀏覽器和插件之間交互的事件和消息格式; 所述服務(wù)単元,用于使插件能通過服務(wù)単元直接使用瀏覽器提供的Π服務(wù)和網(wǎng)絡(luò)服務(wù); 所述事件及消息處理單元,用于對(duì)經(jīng)插件適配単元處理過格式的事件及消息進(jìn)行統(tǒng)一處理,所述處理包括事件及消息的分發(fā),事件及消息的封裝,并提供給對(duì)應(yīng)的事件調(diào)度、注冊(cè)管理及消息廣播功能應(yīng)用; 所述插件接ロ為插件管理平臺(tái)與插件間交互的接ロ。
3.根據(jù)權(quán)利要求2所述的平臺(tái),其特征在于,所述各種具體行為包括插件識(shí)別、插件加載/插件卸載、插件版本管理、插件安全認(rèn)證、插件安裝升級(jí)、或插件能力管理。
4.根據(jù)權(quán)利要求2或3所述的平臺(tái),其特征在于,所述服務(wù)単元,進(jìn)ー步包括插件用戶界面(Ul)服務(wù)模塊和網(wǎng)絡(luò)服務(wù)模塊;其中, 所述插件UI服務(wù)模塊,用于使插件能直接使用瀏覽器提供的UI服務(wù),快速搭建插件所需要的UI ; 所述網(wǎng)絡(luò)服務(wù)模塊,用于使插件能直接使用瀏覽器提供的網(wǎng)絡(luò)服務(wù),快速運(yùn)行插件所需要的網(wǎng)絡(luò)運(yùn)行環(huán)境。
5.根據(jù)權(quán)利要求2或3所述的平臺(tái),其特征在于,所述插件行為管理単元,進(jìn)ー步包括識(shí)別模塊、加載/卸載模塊、版本管理模塊、安全認(rèn)證模塊、安裝升級(jí)模塊和能力管理模塊;其中, 所述識(shí)別模塊,用于自動(dòng)識(shí)別請(qǐng)求加載的插件; 所述加載/卸載模塊,用于自動(dòng)加載插件或卸載插件; 所述版本管理模塊,用于管理插件版本,將瀏覽器本地存儲(chǔ)的插件版本信息與請(qǐng)求加載的插件的插件版本信息進(jìn)行比較; 所述安全認(rèn)證模塊,用于對(duì)插件進(jìn)行安全認(rèn)證; 所述安裝升級(jí)模塊,用于對(duì)插件進(jìn)行安裝升級(jí); 所述能力管理模塊,用于對(duì)插件的能力進(jìn)行管理,所述能力包括插件的網(wǎng)絡(luò)能力和插件的UI能力。
6.ー種在瀏覽器上實(shí)現(xiàn)的開放式插件管理方法,其特征在于,該方法包括在瀏覽器主進(jìn)程中實(shí)現(xiàn)的插件管理平臺(tái),作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述對(duì)插件進(jìn)行管理包括已安裝的插件被所述插件管理平臺(tái)自動(dòng)識(shí)別出來,在觸發(fā)插件加載條件且通過插件管理平臺(tái)的安全認(rèn)證后,所述插件被自動(dòng)加載。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述對(duì)插件進(jìn)行管理還包括所述瀏覽器啟動(dòng)時(shí),通過所述插件管理平臺(tái)查詢是否需要更新插件版本信息,當(dāng)需要更新時(shí),將更新的版本信息存儲(chǔ)在瀏覽器本地;當(dāng)瀏覽器通過插件管理平臺(tái)獲取插件加載請(qǐng)求時(shí),通過插件管理平臺(tái)將要加載的插件的插件版本信息與瀏覽器本地的插件版本信息進(jìn)行版本比較和實(shí)現(xiàn)安全認(rèn)證,通過安全認(rèn)證后瀏覽器通過插件管理平臺(tái)自動(dòng)加載所述插件;當(dāng)所述插件需要退出時(shí),通過插件管理平臺(tái)發(fā)送退出請(qǐng)求,并卸載所述插件。
全文摘要
本發(fā)明公開了一種在瀏覽器上實(shí)現(xiàn)的開放式插件管理平臺(tái),該插件管理平臺(tái)在瀏覽器主進(jìn)程中實(shí)現(xiàn),用于作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。本發(fā)明還公開了一種在瀏覽器上實(shí)現(xiàn)的開放式插件管理方法,該方法包括在瀏覽器主進(jìn)程中實(shí)現(xiàn)的插件管理平臺(tái),作為插件與瀏覽器的交互媒介,控制承載的插件與瀏覽器的交互,并對(duì)插件進(jìn)行管理后再適配給瀏覽器調(diào)用。采用本發(fā)明的平臺(tái)及方法,能對(duì)各種服務(wù)或業(yè)務(wù)應(yīng)用的插件進(jìn)行管理,方便用戶使用智能終端借助瀏覽器實(shí)現(xiàn)的各種服務(wù)和業(yè)務(wù)應(yīng)用功能,且節(jié)約網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)流量。
文檔編號(hào)G06F17/30GK102682014SQ201110060859
公開日2012年9月19日 申請(qǐng)日期2011年3月14日 優(yōu)先權(quán)日2011年3月14日
發(fā)明者趙峰 申請(qǐng)人:騰訊科技(深圳)有限公司