李江 李歡歡 李曉陽 宋海榮 劉清泉
(國家知識產(chǎn)權(quán)局專利局專利審查協(xié)作河南中心,河南鄭州 450000)
一種插件自適應(yīng)更新方法
李江 李歡歡 李曉陽 宋海榮 劉清泉
(國家知識產(chǎn)權(quán)局專利局專利審查協(xié)作河南中心,河南鄭州 450000)
在插件更新時,根據(jù)客戶端的應(yīng)用環(huán)境,查找最佳適用版本進行更新,而不是將插件程序簡單更新到最新版本,從而使插件版本與客戶端的應(yīng)用環(huán)境相匹配,解決了傳統(tǒng)插件更新方法中即使客戶端軟硬件較落后,更新時仍然將插件更新到最新版本從而造成程序運行緩慢、甚至崩潰的技術(shù)問題。該插件更新方法可應(yīng)用于PC端、平板電腦、移動終端等電子設(shè)備,能夠為用戶提供更好地操作體驗。
插件;自適應(yīng);最佳版本;最新版本
隨著計算機技術(shù)的快速發(fā)展,為了適應(yīng)日益復(fù)雜的應(yīng)用環(huán)境以及軟件功能的不斷擴展[1],對同一應(yīng)用程序,人們不斷開發(fā)出新的程序版本進行更新?lián)Q代,例如微軟公司的IE瀏覽器就已從早期的IE5、IE6發(fā)展到目前最新的IE11,通常即使是同代的程序也具有多個版本。在客戶端,由于客戶端的硬件性能、個人愛好、個人需求不同,使用各種版本瀏覽器的客戶端皆有,這就造成了應(yīng)用環(huán)境的復(fù)雜性,給寄生于瀏覽器的插件應(yīng)用程序的更新造成了困難。而通常插件在更新時,皆是直接將插件更新到最新版本,由于插件寄生的瀏覽器程序環(huán)境比較復(fù)雜,這就可能造成插件與運行的瀏覽器軟、硬件環(huán)境不匹配,而一旦發(fā)生插件程序與軟硬件環(huán)境不匹配的情況,就很容易發(fā)生系統(tǒng)崩潰、程序卡死等問題,給用戶帶來了極大的不便,這就急需對現(xiàn)有的插件更新、安裝方法進行改進。
插件的實質(zhì)是在不改變程序主體結(jié)構(gòu)的基礎(chǔ)上,對軟件功能進行擴展加強,用戶可以根據(jù)自己的需要安裝相應(yīng)的插件,通常插件的框架結(jié)構(gòu)包括兩大部分[2-3]:主程序和插件。插件要安裝到主程序中,必須滿足相應(yīng)的接口標(biāo)準(zhǔn),以便于插件與主程序之間相互通信。其中,主程序是單獨能夠運行的程序,插件能夠通過主程序向用戶提供服務(wù),是整個系統(tǒng)能夠運行的基礎(chǔ)。其作用有以下3點:①主程序是插件運行的基礎(chǔ),能夠用來初始化插件,配置插件的接口,用于管理插件的運行[4];②主程序管理插件的安裝、卸載和更新,處理插件的故障,保證運行穩(wěn)定;③能夠通過界面的方式將插件的功能展現(xiàn)給用戶,便于用戶操作。插件功能能夠通過動態(tài)鏈接庫[5]實現(xiàn),主程序能夠根據(jù)接口標(biāo)準(zhǔn)安裝、更新插件,并將插件接口在內(nèi)存中分配的地址發(fā)送給插件,插件接收該地址,并依據(jù)所述地址來調(diào)用插件函數(shù),完成相應(yīng)功能,獲取相應(yīng)資源等。
在現(xiàn)有技術(shù)中,插件的更新通常是配置管理終端先將管理員發(fā)布的插件上傳到系統(tǒng)軟件版本發(fā)布服務(wù)器,更新時直接將插件更新到最新版本。易程軟件股份有限公司在中國專利CN102195804A提出了一種自動更新插件的方法[6],具體內(nèi)容為:系統(tǒng)軟件版本發(fā)布服務(wù)器接收客戶端插件并進行存儲,同時為每個插件生成版本編號;客戶端每間隔一定時間向系統(tǒng)軟件版本發(fā)布服務(wù)器發(fā)送版本檢測請求,同時攜帶本地插件的版本號;系統(tǒng)軟件版本發(fā)布服務(wù)器將所攜帶的本地插件版本號與最新版本號進行比較,當(dāng)本地插件版本號小于服務(wù)器中最新版本號時,客戶端從服務(wù)器下載最新版本插件,并在客戶端更新所述最新版本插件。這種插件更新方式雖然能夠自動檢查服務(wù)器端插件的最新版本并能實現(xiàn)下載更新,實現(xiàn)了對客戶端軟件的自動更新,減少了客戶端應(yīng)用程序維護的復(fù)雜性,降低了成本。但是這種更新方式只是將軟件更新到最新版本,而沒有相應(yīng)檢測客戶端的軟件運行環(huán)境,如果客戶端運行的環(huán)境與最新版本的插件不兼容時,那么將插件更新到最新版本將會造成軟件運行故障。
圖1
奇智軟件有限公司于2010年在中國專利CN 102222091 A提出了一種瀏覽器中插件擴展的方法[7],其通過檢測用戶的瀏覽器使用記錄;依據(jù)所述瀏覽器使用記錄,確定用戶所需的插件擴展類別;將插件擴展類別下的插件擴展提供給該用戶。該方法只是根據(jù)用戶的瀏覽器訪問、瀏覽器操作功能或者下載喜好等用戶習(xí)慣選擇適合用戶的插件,而沒有提到如何選擇適合瀏覽器的插件版本進行更新以防止軟件環(huán)境不匹配問題。
鑒于現(xiàn)有技術(shù)存在的不足,為解決軟件版本與安裝環(huán)境不匹配的問題,提出了以下改進方案:
3.1 插件上傳前的準(zhǔn)備
軟件管理員在將插件上傳系統(tǒng)軟件版本發(fā)布服務(wù)器前,先建立插件的配置信息,將插件與兼容的主程序版本的對應(yīng)關(guān)系添加到配置信息文件中,假如上傳的是瀏覽器搜索插件,那么可以將插件對應(yīng)的瀏覽器如IE5、IE6的映射關(guān)系加入到配置信息文件中,同樣道理,假如插件對應(yīng)的兼容瀏覽器是IE6、IE7,則將與對IE6、IE7的映射關(guān)系加入到配置信息文件中[8]。系統(tǒng)軟件版本發(fā)布服務(wù)器接收需要發(fā)布的最新插件后,賦予所述插件相應(yīng)的版本編號,并提取插件的配置信息,建立插件版本與瀏覽器的映射關(guān)系表。
表1 系統(tǒng)軟件版本發(fā)布服務(wù)器插件信息表
3.2 客戶端的查詢請求
客戶端在工作時,記錄下插件的運行狀態(tài),建立插件的異常事件量與使用時間的對應(yīng)關(guān)系(即異常頻率)并保存在存儲器中??蛻舳酥芷谛缘叵蛳到y(tǒng)軟件版本發(fā)布服務(wù)器發(fā)送軟件檢測請求,同時攜帶客戶端插件版本號、插件工作異常信息及客戶端主程序版本號。
3.3 服務(wù)器端的信息更新
服務(wù)器接收客戶端發(fā)送信息后,首先根據(jù)插件異常信息判斷客戶端插件是否適用客戶端主程序,并記錄統(tǒng)計相關(guān)信息。例如(參見表1系統(tǒng)軟件版本發(fā)布服務(wù)器插件信息表):客戶端搜索插件版本號為2,客戶端瀏覽器版本號為IE7,系統(tǒng)軟件版本發(fā)布服務(wù)器接收到異常信息后首先判斷異常頻率是否小于特定閾值,如果是,則直接將搜索插件版本2,客戶端瀏覽器版本IE7對應(yīng)的客戶使用量加1,如果否,則將搜索插件版本2,客戶端瀏覽器版本IE7對應(yīng)異常統(tǒng)計信息及客戶使用量分別加1。此時,服務(wù)器根據(jù)異常信息統(tǒng)計及客戶使用量判斷搜索插件版本的最佳適用主程序,將異常統(tǒng)計信息與用戶使用量的比值最小的瀏覽器更新到最佳適用版本一欄。
3.4 系統(tǒng)軟件版本發(fā)布服務(wù)器確定插件版本
系統(tǒng)軟件版本發(fā)布服務(wù)器根據(jù)客戶端主程序版本號查找最佳適用插件版本,將該插件版本發(fā)送到客戶端。例如:服務(wù)器首先根據(jù)客戶端瀏覽器版本號IE7,在最佳適用版本項中進行查找,找到相應(yīng)的適用搜索插件版本2、3,發(fā)現(xiàn)搜索插件版本2、3的最佳適用瀏覽器皆為IE7,此時,計算搜索插件版本2、瀏覽器版本號IE7對應(yīng)的異常統(tǒng)計信息值與客戶使用量的比值,搜索插件版本3、瀏覽器版本號IE7對應(yīng)的異常統(tǒng)計信息與客戶使用量的比值,通過判斷異常統(tǒng)計信息與客戶使用量的比值的大小,將比值較小者對應(yīng)的搜索插件版本2發(fā)送給客戶端[9]。
3.5 客戶端的更新操作
客戶端接收到系統(tǒng)軟件版本發(fā)布服務(wù)器發(fā)送的插件后,首先解析文件,配置客戶端插件安裝環(huán)境,對客戶端插件進行更新安裝[10]。
通過根據(jù)客戶端的應(yīng)用環(huán)境將插件更新到最佳適應(yīng)版本,而不是最新版本,從而使插件版本與應(yīng)用環(huán)境相匹配,解決了由于客戶端軟硬件較落后、更新時卻將插件更新到最新版本而造成程序運行緩慢、甚至崩潰的技術(shù)問題。且該方法通過本領(lǐng)域技術(shù)人員的適當(dāng)改進還可應(yīng)用于其他軟件的更新、安裝中,從而解決了應(yīng)用程序與終端設(shè)備軟硬件環(huán)境匹配的技術(shù)問題,能夠為用戶提供更好地操作體驗。
[1]鄧力.插件技術(shù)在虛擬儀器中的應(yīng)用[J].國外電子測量技術(shù),2010,29(5):76-78.
[2]韓永印.計算機軟件中的插件技術(shù)分析[J].計算機光盤軟件與應(yīng)用,2014,(3):262-246.
[3]李延春.軟件插件技術(shù)的原理與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2003(7):24-26.
[4]姜川.計算機軟件中的插件技術(shù)及應(yīng)用研究[J].數(shù)字技術(shù)與應(yīng)用,2013(1):94:7-11.
[5]朱巖.插件技術(shù)在軟件中的應(yīng)用[J].產(chǎn)業(yè)與科技論壇,2011,10(21):9.
[6]李吉生,邵曉風(fēng),李良文,等.軟件自動更新方法及其系統(tǒng)[P],201110058328.5,2011.
[7]田亮,侯志剛.一種瀏覽器中插件擴展的提供方法和系統(tǒng)[P],201110148818.4,2011.
[8]王娜.計算機軟件中的插件技術(shù)淺析[J].黑龍江科技信息,2010(33):72-75.
[9]張湘.基于組件的服務(wù)狀態(tài)在線檢測方法及系統(tǒng)[P].201010160369.0,2010.
[10]David J.Kemper,DISTILLATION AND RECONSTRUC?TION OF PROVISIONING COMPONENTS[P],US 13/116528,2011.
A Plug-in Adap tive Updating M ethod
Li Jiang LiHuanhuan LiXiaoyang Song Hairong Liu Qingquan
(PatentExamination Coperation Centre of the PatentOffice,SIPO,Henan,Zhengzhou Henan450000)
During plug-in updating,according to the application environment for the client,find the best applicable version for updating,rather than simply update the plug-in program to the latest version,so that the plug-in version match with the client application environment,solve the technical problems of traditional plug-in updatingmethod thateven the client software and hardware are backward,the plug-in is still updated to the latestversion,resulting in slow running of the program,and even the collapse.The plug-in updatemethod can be applied to the PC,tablet,mobile terminaland otherelectronic devices,providing userswith betteroperating experience.
plug-in;adaptive;bestversion;latestversion
TP277
:A
:1003-5168(2015)03-0033-3
2015-2-27
李江(1985.9-),男,碩士研究生,研究實習(xí)員,研究方向:計算機方面專利審查工作。